|
▼ちゃっぴ さん:
返信ありがとうございます。
でも、ここで、オブジェクトが必要です。というエラーで落ちてしまいます。
Set objButton = ActiveSheet.OLEObjects.Add _
(ClassType:="Forms.CommandButton.1", Link:=False, _
DisplayAsIcon:=False, Left:=108, Top:=14.25, _
Width:=81, Height:=33.75)
ちなみに私のソースは、
Private Sub Workbook_Open()
Dim w_シート名 As String
Dim objButton As OLEObject
Application.ScreenUpdating = False '処理画面非表示
Application.DisplayAlerts = False '処理画面非表示
w_シート名 = ActiveWorkbook.Name
'Worksheets(1).Select
'ActiveWorkbook.Worksheets(1).Delete
Workbooks.Open ("C:\WINDOWS\デスクトップ\単品.XLS")
ActiveWorkbook.Sheets("Sheet1").Select
ActiveWorkbook.Sheets("Sheet1").Copy Before:=Workbooks(w_シート名).Worksheets(1)
Workbooks("単品.XLS").Activate
ActiveWorkbook.Close
Rows("1:5").Select
Selection.Insert Shift:=xlDown
Sheets("Sheet3").Select
Range("A1:CL5").Select
Selection.Copy
Sheets("Sheet1").Select
Range("A2").Select
ActiveSheet.Paste
Rows("1:1").RowHeight = 56.25
Range("A1").Select
Set objButton = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=108, Top:=14.25, Width:=81, Height:= _
33.75).Select
Range("A1").Select
With ActiveWorkbook.VBProject.VBComponents.Item("Sheet1").CodeModule
'マクロの 1 行目です。同様に 5 行目まで書き込みます。
.InsertLines 1, "Private Sub CommandButton1_Click()"
.InsertLines 2, ""
.InsertLines 3, " MsgBox ""セルの値が変更されました"""
.InsertLines 4, ""
.InsertLines 5, "End Sub"
End With
ActiveWorkbook.Save
objButton.Object.Caption = "エラーチェック"
Application.DisplayAlerts = True '処理画面非表示
Application.ScreenUpdating = True '処理画面非表示
End Sub
です。マクロエクセルにはSHEET2と3しかありません。
いろいろ教えていただいて恐縮ですが、
エラーの原因わかりますでしょうか。
よろしくお願いします。
▼ちゃっぴ さん:
>前のソース間違ってました。削除します。
>
>OLEObjectの個々のオブジェクトを参照するには、Objectプロパティを使用しなければならないみたいです。
>
> Dim objButton As OLEObject
> Set objButton = ActiveSheet.OLEObjects.Add _
> (ClassType:="Forms.CommandButton.1", Link:=False, _
> DisplayAsIcon:=False, Left:=108, Top:=14.25, _
> Width:=81, Height:=33.75)
> objButton.Object.Caption = "sdaf"
>
>この場合だと変数「objButton」は「OLEObject」となりますので「OLEObject」に関連づけられたプロパティのみ取得できます。
>
>「OLEObject」のプロパティにCaptionプロパティは存在しませんので以前のものはエラーとなります。
>「objButton.Object」とすると、このオブジェクトに関連付けられたOLEオブジェクトはCommandButtonですので、ようやくCommandButtonのプロパティを使用できるようになります。
|
|