いつもお世話になっております。
おしえてくれませんでしょうか
エクセルを起動すると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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
非表示になったエクセルは?
Excel(エクセル)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
8
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
-
9
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
10
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
11
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
12
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
13
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
14
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
15
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
16
TextBoxから数字が文字として入力される?
Visual Basic(VBA)
-
17
参照設定は2.8と6.0 6.1とどちらにチェッ
その他(Microsoft Office)
-
18
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
19
Openイベントを開始させないでエクセルを開く方法を教えて下さい
Windows 10
-
20
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
量子化学計算ソフト GAMESS の...
-
split関数で区切り文字がない場合
-
Eclipse(JAVA)のデバッグで他...
-
マイクラjavaでForgeを入れたい...
-
BufferdReaderが見つからない?
-
JAVAをWin98にインストールしたい
-
「メイン・マニフェスト属性が...
-
vs codeはオフラインでも使用で...
-
JavaFXの音楽再生でForでループ...
-
jasper.exceptionとは?
-
Javascriptのパーミッション
-
ブレークポイントを設置してな...
-
Eclipse 実行→Javaアプリケー...
-
eclipsのアンインストール
-
windows8のPCでEclipseが起動し...
-
Tomcatプロジェクトと動的Webプ...
-
JSPからServletへの遷移
-
eclipseで「サーバーで実行」表...
-
ホームページビルダー再インス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
jspのエラーが修正できません。
-
VBA Application visibleの...
-
Access VBAよりシート名を取得...
-
別のAccessファイルのフォーム...
-
量子化学計算ソフト GAMESS の...
-
*.asp の拡張子名がついたht...
-
VBAで作成したマクロをデスクト...
-
system.mdwを見つけることが出...
-
HTMLファイルからexeファイルを...
-
RPA(PowerAutomate)の実装について
-
LabVIEWでEXCELファイルを操作...
-
エラー この変数は宣言されて...
-
このファイルを開く方法で困っ...
-
Session_OnStartを見てくれなか...
-
VBでエクセルをOPEN
-
VS内で問題ないexeファイルが、...
-
EXE間で同期をとりながらデータ...
-
AccessのMDBファイルを自動で最...
-
GUIアプリをコマンドラインで使...
おすすめ情報
おしえてくれませんでしょうか
Dim xlApp As New Excel.Application
Dim wb As Workbook
このコードはどこにかけばいいのですか