ワークブック(wbShared)にボタンがあり、そのボタンをクリックすると2番目のワークブック(wbNewUnshared)が開きます。プログラムでwbNewUnsharedにボタンを追加したいと思います。 ボタンを追加する方法はすでに見つかりましたが、このボタンにコードを追加する方法は見つかりませんでした。excel vba +プログラムでボタンにコードを追加する方法
'create button
'--------------------------------------------------------
Dim objBtn As Object
Dim ws As Worksheet
Dim celLeft As Integer
Dim celTop As Integer
Dim celWidth As Integer
Dim celHeight As Integer
Set ws = wbNewUnshared.Sheets("Sheet1")
celLeft = ws.Range("S3").left
celTop = ws.Range("T2").top
celWidth = ws.Range("S2:T2").width
celHeight = ws.Range("S2:S3").height
Set objBtn = ws.OLEObjects.add(classType:="Forms.CommandButton.1", link:=False, _
displayasicon:=False, left:=celLeft, top:=celTop, width:=celWidth, height:=celHeight)
objBtn.name = "Save"
'buttonn text
ws.OLEObjects(1).Object.Caption = "Save"
私はこのオンラインを見つけた:
'macro text
' Code = "Sub ButtonTest_Click()" & vbCrLf
' Code = Code & "Call Tester" & vbCrLf
' Code = Code & "End Sub"
' 'add macro at the end of the sheet module
' With wbNewUnshared.VBProject.VBComponents(ActiveSheet.name).codeModule
' .InsertLines .CountOfLines + 1, Code
' End With
しかし、これは最後の行でエラーが発生します。誰かが手がかりを持っていますか? TX
EDIT: は [OK]を、コード与えられた作品を解決し、私はエラー「のVisual Basicプロジェクトへのプログラムによるアクセスは信頼されていません」でした。 S Meadenの助けを借りて私はhttps://support.winshuttle.com/s/article/Error-Programmatic-Access-To-Visual-Basic-Project-Is-Not-Trustedでそれを解決しました。その後、私のコードが働いた 。もう一度ありがとう。
下のコードを追加し、エラーとは何ですか?あなたが最後の行を言うとき、あなたはコメントされたブロックを意味しますか?あなたは '.InsertLines ...'を意味しますか?そのシートのコードモジュールには他に何かありますか? –
私は取得するエラーは 'メソッドまたはデータのメンバーが見つかりません'とVBプロジェクトを選択します。ビジュアルベーシスはツール/参照/マイクロソフトのビジュアルベーシックでアプリケーションの拡張性をチェック5.3。最後の行で私は本当に意味:ws.VBProject.VBComponents(ActiveSheet.name).codeModule .InsertLines .CountOfLines +1、コード で終わる。 wbSharedでは新しいブックを開くためのコードを書き留め、いくつかの情報をコピーしてから、ボタンを作成して、このボタンにマクロコードを追加したい。 2番目のワークブックには何もコードはありません。 – VeVi
「Visual Basicプロジェクトへのプログラムによるアクセスが信頼できない」問題を過ぎたとします。 –