'ブックを非表示に設定
Windows(ThisWorkbook.name).Visible = False
’電子印鑑作成マクロ オートシェイプを写真に変換して貼り付けるサンプル
Windows(ThisWorkbook.name).Visible = False
'ブックを表示に設定
Windows(ThisWorkbook.name).Visible = True
'ユーザーフォームを最上位に表示する記述一式
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hWnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const HWND_TOPMOST As Long = -1
Const SWP_NOSIZE As Long = 1
Const SWP_NOMOVE As Long = 2
Sub 電子印鑑作成()
'シェイプの日付テキストボックスを選択
ActiveSheet.Shapes.Range(Array("TextBox 2")).Select
'年月日を取得して変更
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Cells(2, 3).Text
Cells(3, 3).Select
'シェイプをコピー
ActiveSheet.Shapes.Range(Array("Group 1")).Select
Selection.Copy
'セルを選択
Range("B6").Select
'写真で貼り付け
ActiveSheet.Pictures.Paste.Select
'コピーを保持
Selection.Copy
End Sub
'アクティブブックの名前を取得
Sub getactivebookname(ByRef activebookname As String)
activebookname = Excel.Application.ActiveWorkbook.name
Debug.Print (activebookname)
End Sub
'workbookを取得
Sub getbookobject(ByRef bookobject As Workbook)
Set bookobject = ActiveWorkbook
Debug.Print (bookobject.name)
End Sub
'選択行を削除するマクロ
Sub 行削除()
'選択位置のレンジを取得
Dim c As Range
Set c = Selection
Debug.Print (c.Row)
Debug.Print (c.Column)
'セル選択用の位置を取得
Dim ro As Integer
Dim co As Integer
ro = c.Row
co = c.Column
'選択した行数を取得
Dim ronum As Integer
ronum = c.Rows.count
'削除する前に安全のためシートをコピー
Sheets("Sheet1").Select
Sheets("Sheet1").Copy After:=Sheets(1)
Sheets("Sheet1").Select
'行を選択して削除
Range(Rows(ro), Rows(ro + ronum - 1)).Select
Selection.Delete Shift:=xlUp
'選択していたセルを選択
Cells(ro, co).Select
End Sub
'選択した行数の範囲を挿入するマクロ
Sub 行追加()
'選択位置のレンジを取得
Dim c As Range
Set c = Selection
Debug.Print (c.Row)
Debug.Print (c.Column)
'セル選択用の位置を取得
Dim ro As Integer
Dim co As Integer
ro = c.Row
co = c.Column
'選択した行数を取得
Dim ronum As Integer
ronum = c.Rows.count
'行を追加
Range(Rows(ro), Rows(ro + ronum - 1)).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'選択していたセルを選択
Cells(ro, co).Select
End Sub
’名前定義を削除するマクロ
Sub 名前の削除()
'すべての名前を表示して削除する
Dim name As Object
For Each name In Names
If name.Visible = False Then
name.Visible = True
name.Delete
End If
Next
'MsgBox "すべての名前の定義を表示しました。", vbOKOnly
End Sub
コメント
コメントを投稿