VB6でエクセルを保存させると、動作は問題ないのですが、「名前をつけて保存」のウィンドウが他のプログラムの下に出てしまいます。他のプログラムをあらかじめ避けておかないと、ウィンドウにアクセスできません。どうしたらよいのでしょうか?
Option Explicit
Dim xlApp As Excel.Application
Dim xlBok As Excel.Workbook
Dim xlSht As Excel.Worksheet
Private Sub Form_Load()
Set xlApp = CreateObject("Excel.Application")
Set xlBok = xlApp.Workbooks.Add
Set xlSht = xlBok.Worksheets(1)
xlSht.Activate
End Sub
Private Sub EndBtn_Click()
Dim xlFName As String
On Error Resume Next
'1
xlFName = xlApp.GetSaveAsFilename(fileFilter:="Excel (*.xls), *.xls")
Call xlBok.SaveAs(xlFName)
'2 Application.Dialogs(xlDialogSaveAs).Show
Call xlApp.Quit
Set xlSht = Nothing
Set xlBok = Nothing
Set xlApp = Nothing
End
End Sub
1の方法でも2の方法でも同じです。
なお、VBは全くの初心者です
No.2ベストアンサー
- 回答日時:
すみません。
VBのFormだけが表示されてると早合点しての回答でした。
ちょと見苦しいですが以下のように
'---------------------------------
Me.Hide
xlApp.Visible = True '●●●
Application.Dialogs(xlDialogSaveAs).Show
Me.Show
'---------------------------------
エクセルをACTIVEにするとか。。
何れにしろこの質問はAPIの範疇だと思いますので
ネットで、「API 前面 VB」などをキーにして検索してみてください。
サンプルコードがたっぷり出てきます。
No.1
- 回答日時:
VB6は使ったことないので何なんですが。
。。'---------------------------------
Me.Hide
Application.Dialogs(xlDialogSaveAs).Show
Me.Show
'---------------------------------
でどうでしょう。。
ただ、これだとFormのActivateイベントにコードがあったらちょと工夫が要りますが。。
勘違いでしたらご容赦願います。
ありがとうござます。
これで、確かに自分は消えますが、同時に表示されている他のプログラムのウィンドウは消えません。
「名前を~」は他のプログラムも含めて、一番下に出てしまうんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ファイル保存先のダイアログが背面に表示されてしまう
Java
-
vbscriptで、ファイル選択ダイアログを前面に出したい。
その他(プログラミング・Web制作)
-
VBAにてメッセージボックスを最前面に表示させる
その他(プログラミング・Web制作)
-
-
4
ExcelのVBAで上書き保存を確認したい
Visual Basic(VBA)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
7
アクセスvbaでエクセルブックを保存
その他(Microsoft Office)
-
8
Accessで、定型入力を使って年と月のデータだけ入力したい
Access(アクセス)
-
9
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
10
Accessでエクセル出力の保存先指定
その他(データベース)
-
11
アクセスでフォームが更新できない&データ参照ができなくなった
その他(データベース)
-
12
AccessVBAでExcelを起動し、罫線を引きたいのですが、Exc
Visual Basic(VBA)
-
13
スクロールバーをVBAで操作したい
Access(アクセス)
-
14
サブフォームを非表示させる方法を教えて下さい
その他(Microsoft Office)
-
15
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
16
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
17
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
18
角丸四角形を描きたい
Excel(エクセル)
-
19
プロシージャ名の取得
Visual Basic(VBA)
-
20
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
勝手にウィンドウが開いて止ま...
-
[VBA] UserForm を Excel の W...
-
EnumChildWindowsの使い方(VBA)
-
コンソールアプリケーションで...
-
API32 コントロールのEditテキ...
-
ExcelVBAでAPIを使って外部ウイ...
-
デスクトップにフォーカスを移動
-
アプリケーション間のドラッグ...
-
Excelの上下を固定したい
-
他のアプリケーションの終了処理
-
Ctrl+Cを2回押してもOfficeクリ...
-
UWSCで特定のChromeのタブをア...
-
ラジオボタンの初期指定
-
ACCESS2007で起動時にフォーム...
-
イベントを発生させたウィンド...
-
ダイアログをスクロールさせるには
-
作成したウインドウのサイズを...
-
指定したインアクティブウィン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
勝手にウィンドウが開いて止ま...
-
検索の画面がでなくなってしま...
-
ゲームでは結局どっちが良いの?
-
VBA .Value=.Value ?
-
Excelの上下を固定したい
-
[VBA] UserForm を Excel の W...
-
EnumChildWindowsの使い方(VBA)
-
Vba LongPtrについて教えてくだ...
-
ExcelのBOOKが消えた!
-
他のアプリケーションの終了処理
-
ラジオボタンの初期指定
-
ExcelVBAでAPIを使って外部ウイ...
-
作成したウインドウのサイズを...
-
UWSCで特定のChromeのタブをア...
-
隠れたウィンドウの画面をキャ...
-
「&HFFFF」「&H1A」とは?
-
名前を付けて保存のウィンドウ...
-
最大化と最小化ボタン
おすすめ情報