<Excel 起動画面を表示しないで、UserFormを開く>
どうも、 最近、質問もらうけど、 なかなか、解答できてない三流プログラマーのKen3です。 ※私のレベルで手に余る高度な質問が多くて。 (返信遅いのは、答えられないからで、 お金払えば答える、有料版の読者にしか答えない、そんなことは無いので・・・ 有料版読者の質問に優先的に答えてはいますが、、、、)/* * 1. 今回のキッカケ */
質問のメッセージをもらいました。 ----- In message "QA B-ETC - No.0", >次のようなことは、できるのでしょうか。 >Excelファイルを開いたときに、Excel画面を表示させずに、ユーザーホームだけを >表示させる方法はないのでしょうか。 ----- Excelの画面を表示させないでかぁ・・・/* * 2.普通のパターン */
通常は、test999.xlsとExcelのファイルがあったら、
Public Sub Auto_Open() '読み込み時に実行される
Application.Visible = False 'アプリを見えなくする
UserForm1.SHOW 'ユーザーフォームの表示
End Sub |
↑実行結果画面
これがウイルスの温床と噂のVBスクリプトってヤツですね。
よんでね.VBSとか、I Love Youとファイル名を付けて、添付する・・なんてヤツですね。
まぁ、そんな話は、置いといて、
Excelのオブジェクトを作って、Excelを起動します。
Dim oApp As Object
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
'Only XL 97 supports UserControl Property
On Error Resume Next
oApp.UserControl = True
'*1↓頭にCreateObjectで作成した変数を追加しただけ
oApp.Workbooks.Open FileName:="E:\work\test999.xls"
'^^^^
おいおい、コンパイルエラーかよ(笑)
↑エラー画面
あっ、VBScriptって変数の型指定ができないんだっけ、
Dim oApp As Object
みたいに、As XXXXはダメなんだっけ、忘れてた。
これを取って、
えっ、まだダメなの?
oApp.Workbooks.Open FileName:="E:\work\test999.xls"
の場所?
oApp.Workbooks.Open "E:\work\test999.xls"
と引数の名前指定を外して見た(う〜ん、後で調査ですね)
無事、固定のファイルが開けたので、
ユーザーフォームを開きますか、
と、同時に、Excelは隠しておきたいんだっけ。
test999.xls内に、ユーザーフォームを表示するSub関数を1つ作ります。
'フォームを開くモジュール
Public Sub SHOW_UserForm1()
UserForm1.SHOW
End Sub |
↑プロセスが残っている・・(タスクマネージャーで確認)
これを終了させたいよね。
まぁ、普通にフォームを閉じた時に、自身のアプリを消しますか。
Public Sub Auto_Open() '読み込み後に実行される
Application.Visible = False 'アプリを見えなくする
UserForm1.SHOW 'ユーザーフォームの表示
Application.Quit 'アプリを終了する
End Sub |
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
|
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]