[[20220110194839]] 『vbsでエクセルを開かずユーザーフォーム呼び出し』(悪戦苦闘) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『vbsでエクセルを開かずユーザーフォーム呼び出し』(悪戦苦闘)

こんばんは。
エクセルを開かずvbsにてユーザーフォーム呼び出しを行いたいのですか可能ですか?
いろいろサイトを、見たのですが参考になるものはあったのですが、
出来ずここに辿り着きました。
どうかご教授ください。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 >参考になるものはあったのですが、 
 > 出来ずここに辿り着きました。 

 どういう方法ですか?
 それを提示していただかないと、ここでアドバイス
 貰っても同じ結果になるかもしれません。
(通りすがり) 2022/01/10(月) 19:57

いっそ、VB.NET

C#
とかがよいのでは。
(HopeSN) 2022/01/10(月) 20:00

現在VBSに書いているコードは
Const FILE_NAME = "I:\test.xlsm"
Const PROC_NAME = "test"
Dim app
Set app = CreateObject("Excel.Application")

With app

	'Excel非表示
	.Visible = False
	Dim wb
	Set wb = .Workbooks.Open(FILE_NAME)
	.Run wb.Name & "!" & PROC_NAME
	'アラートを消す
	.DisplayAlerts = False
	wb.Save
	wb.Close

End With

app.Quit
となっています。
エクセルにはtestというマクロあり実行するとUserForm1が開きますが
何も起きません。
しかし、再度エクセルを開こうとすると読み取り専用になっています。
(HopeSN)さん
その方法は私には高度過ぎます。
貴重なご意見ありがとうございました。

(悪戦苦闘) 2022/01/10(月) 20:11


 >エクセルを開かずvbsにてユーザーフォーム呼び出しを行いたいので
 エクセルを非表示で起動してUserFormを表示する事は出来ますが

 [VBS]
 Dim objExcel
 Set objExcel = CreateObject("Excel.Application")
 With objExcel
     .Visible = False  'Excelを非表示で起動
     .Workbooks.Open "I:\test.xlsm"
     CreateObject("WScript.Shell").AppActivate objExcel.Caption
 End With
 Set objExcel = Nothing

 [test.xlsm]
 --ThisWorkbookモジュール --
 Private Sub Workbook_Open()
     UserForm1.Show
 End Sub
 --UserFormモジュール --
 Private Sub UserForm_Terminate()
     ThisWorkbook.Saved = True
     Application.Quit
 End Sub

(ピンク) 2022/01/10(月) 20:20


みなさん過去ログの
[[20211006151621]]を参照したら無事にできました
ありがとうございました。

(悪戦苦闘) 2022/01/10(月) 21:35


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.