お世話になっております。
vbsの以下の記述でexcelを開いています。
開くところまでは行くのですが、その後のsheet1のデータのクリアとUserForm1の表示がどうしてもできません。
申し訳ありませんが、どなたかおわかりの方、教えていただけないでしょうか。
宜しくお願いいたします。
Dim oApp
Dim objWshShell
Dim scriptPath
'Excelオブジェト作成
Set oApp = CreateObject("Excel.Application")
'WScript.Shellオブジェクト作成
Set objWshShell = CreateObject("WScript.Shell")
oApp.Visible = True '不可視にする
oApp.UserControl = True
'Excelファイルを開く
scriptPath = WScript.ScriptFullName
scriptPath = left(scriptPath,len(scriptPath)-len(WScript.ScriptName))
oApp.Workbooks.Open scriptPath & "共同資料.xlsm"
No.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"
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBS Bookを閉じるコード 1 2023/02/16 17:31
- Visual Basic(VBA) エクセル VBA メール本文に指定セルに記載されているURLをリンクとして記載する方法 8 2022/08/08 07:50
- Visual Basic(VBA) バックグラウンドのプロセスのエクセルを閉じる方法 4 2022/05/12 15:39
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
VBAで既に開いている別アプリケ...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
エクセルのVBAの標準モジュール...
-
「Columns("A:C")」の列文字を...
-
VBScriptでExcelのグラフを貼り...
-
ACCESSのFieldの追加方法
-
横軸ラベルの追加に関するエラ...
-
エクセルVBAでFor each文
-
Accessフォームから指定のExcel...
-
InternetExplorer.Application...
-
PowerPointVBAでスライドマスタ...
-
VBAの修正箇所を教えて頂きたい...
-
EXCELVBAグラフ凡例表示部分の...
-
VBで引数にDictionaryオブジェ...
-
CreateObjectとGetObjectの違い
-
エクセルVBA 他ブックのシート...
-
ドロップダウンリストの行を増...
-
オブジェクトが見つかりません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報