
いつもお世話になっております。
おしえてくれませんでしょうか
エクセルを起動するとUserForm1が立ち上がり
エクセルはApplication.Visible = False
でかくしてあります。
CommandButton1_Clickすると特定のファイルが開きます。
CommandButton3_Clickすると特定のファイルが開きます。
ここまでは良いのですが、
CommandButton1_Click OR CommandButton2_Click
どちらかのファイルを閉じると
本体のエクセルが表示されてしまいます。
これを非表示のままにするにはどうすれば
よいのかおしえてくれませんでしょうか
Private Sub UserForm_initialize()
With Application
.WindowState = xlNormal
g_sngTopSV = .Top
g_sngLeftSV = .Left
g_sngWidthSV = .Width
g_sngHeightSV = .Height
End With
Application.Visible = False '--------------------------1
UserForm1.Show vbmoderess
Cancel = True
CommandButton2.Visible = False
End Sub
Private Sub CommandButton1_Click()
CreateObject("Shell.Application").Open "G:\マイドライブ\2022\【2022code】\A.xlsx"
Application.WindowState = xlMaximized
End Sub
Private Sub CommandButton3_Click()
CreateObject("Shell.Application").Open "G:\マイドライブ\2022\【2022code】\B.xlsx"
Application.WindowState = xlMaximized
End Sub
Private Sub UserForm_Activate()
'-----------------------------------------------------------------------------------------------
' フォームの後ろにExcelウィンドウを隠す
With Application
.Top = Me.Top + 1
.Left = Me.Left + 1
.Width = Me.Width - 2
.Height = Me.Height - 2
End With
End Sub
-------------------------------------------------------------------------
Private Sub CommandButton2_Click()
If TextBox1.Value = "39" Then
Application.Visible = True
Else
Exit Sub
End If
End Sub
Private Sub TextBox1_Change()
If TextBox1.Value = "39" Then
CommandButton2.Visible = True
Else
Exit Sub
End If
End Sub
No.3ベストアンサー
- 回答日時:
No.2
- 回答日時:
一部訂正。
Private Sub CommandButton2_Click()
wb.Close False
Set wb = Nothing
'xlApp.Visible = False '←なくてもいいかも
xlApp.Quit '←追加して★
Set xlApp = Nothing
End Sub
補足について。
丸ごとコードをユーザーフォームモジュールにそのまま貼り付けて下さい。
それはグローバル変数にしてます。
なのでどの Sub~End Sub の中ででも使用できる変数名です。
★を追加しないとタスクにExcelが増殖しちゃいました・・・・
No.1
- 回答日時:
メチャクチャ簡単に書きました。
ユーザーフォームモジュールにボタン2個を配置して、
Dim xlApp As New Excel.Application
Dim wb As Workbook
Private Sub UserForm_Initialize()
Application.Visible = False
End Sub
Private Sub CommandButton1_Click() 'Bookを開く
Set xlApp = New Excel.Application
xlApp.Visible = True
Set wb = xlApp.Workbooks.Open(ThisWorkbook.Path & "\aaa.xlsx")
End Sub
Private Sub CommandButton2_Click() 'Bookを閉じる
wb.Close False
Set wb = Nothing
xlApp.Visible = False
Set xlApp = Nothing
End Sub
ようは別のプロセスのExcelアプリケーションを起動させて、その中で別のBookを開けば良いんじゃないかな?
参考にならなかったらごめんなさいね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
非表示になったエクセルは?
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
6
(Excel+VBA)ユーザーフォームのみ表示で完結させたい。
Excel(エクセル)
-
7
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
8
Excel VBAで、Application.InputBoxのキャンセルと入力値ゼロを区別したい。
Visual Basic(VBA)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
11
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
12
VBA バックグラウンドで別ブックを開いてデータ転記
Excel(エクセル)
-
13
VBS Bookを閉じるコード
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
VBA Application visibleの...
-
jspのエラーが修正できません。
-
ホームページで,midのリンクを...
-
Eclipseで、プロジェクト名のと...
-
classファイルについて
-
javax.mailがimportできない
-
JSPのクラスをコンパイルできな...
-
正しいURL指定しているにもかか...
-
Mac版eclipse(Java)のsysout.に...
-
Eclipse・プロジェクトで、フォ...
-
Eclipseでサーブレットを使用す...
-
マイクラjavaでForgeを入れたい...
-
WMPのインターネット接続で「サ...
-
eclipseをバージョンアップした...
-
eclipseで1ファイルの警告を100...
-
MSDNのコレクションがありませ...
-
「ワークスペースをビルド中」...
-
glassfishのWebアプリの権限
-
Tomcatプロジェクトの.properti...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
LabVIEWでEXCELファイルを操作...
-
別のAccessファイルのフォーム...
-
VBA Application visibleの...
-
system.mdwを見つけることが出...
-
Access VBAよりシート名を取得...
-
VBAで作成したマクロをデスクト...
-
GUIアプリをコマンドラインで使...
-
エラー この変数は宣言されて...
-
*.asp の拡張子名がついたht...
-
HTMLファイルからexeファイルを...
-
jspのエラーが修正できません。
-
BIOSの更新
-
ホームページで,midのリンクを...
-
ASPからJavaの起動
-
EXE間で同期をとりながらデータ...
-
VB6.0 Shellによる終了監視に...
-
C# Font情報を保存したい
-
量子化学計算ソフト GAMESS の...
-
複数のパソコン間のDir関数につ...
おすすめ情報
おしえてくれませんでしょうか
Dim xlApp As New Excel.Application
Dim wb As Workbook
このコードはどこにかけばいいのですか