- ベストアンサー
vbsでexcelのクリアとフォームの表示をしたい
- vbsの以下の記述でexcelを開いています。
- 開くところまでは行くのですが、その後のsheet1のデータのクリアとUserForm1の表示がどうしてもできません。
- 申し訳ありませんが、どなたかおわかりの方、教えていただけないでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
共同資料.xlsm に UserForm1 という名前のユーザーフォームが存在する。 共同資料.xlsm に標準モジュールを作成し、以下のコードを書いておく。 Public Sub ShowUserForm() UserForm1.Show End Sub 以下、VBScript のコード Dim scriptPath Dim bookPath Dim fso ' パス文字列を操作するために FileSystemObject オブジェクトを使用 Set fso = WScript.CreateObject("Scripting.FileSystemObject") scriptPath = WScript.ScriptFullName bookPath = fso.BuildPath(fso.GetParentFolderName(scriptPath), "共同資料.xlsm") Dim oApp ' Excel Application オブジェクト Dim targetBook ' 開いたブックの Workbook オブジェクト Dim targetSheet ' sheet1 または 左から 1番目のシート Set oApp = WScript.CreateObject("Excel.Application") oApp.Visible = True oApp.UserControl = True Set targetBook = oApp.Workbooks.Open(bookPath) Set targetSheet = targetBook.Worksheets("sheet1") 'Set targetSheet = targetBook.Worksheets(1) ' 左から 1番目ならこのコードでも可能 ' どこの値/数式をクリアするのかは適宜変更 targetSheet.Range("A5").ClearContents ' 共同資料.xlsm の標準モジュールに書いた ShowUserForm プロシージャを実行 oApp.Run "共同資料.xlsm!ShowUserForm"
お礼
大変助かりました。 どうもありがとうございました。