質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

19503閲覧

エクセルのファイルは閉じるがウィンドウが閉じない

neet_studier

総合スコア21

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/04/01 17:28

よろしくお願いします。

フォームしか表示せず、Application.visible=false状態のエクセルシステムで、フォーム上のコマンドボタンによって、あるシートのコピーをCSVファイルとして保存するというコードを、以下のように書きました。

fn = thisworkbook.path & Month(Date) & "月" & Day(Date) & "日発行.csv" Sheets("CSV用").Visible = True Sheets("CSV用").Select Sheets("CSV用").Copy ActiveWorkbook.ActiveSheet.Range("A1").Select With ActiveSheet.UsedRange .Value = .Value End With Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=fn, FileFormat:=xlCSV ActiveWorkbook.Close Application.DisplayAlerts = True MsgBox fn & "を出力しました", 64, ""

これをwindows7-64bit上のexcel2010-32bit版で実行すると問題ないのですが、windows10上のexcel2016で実行すると、ただしくCSVファイルは保存されるのですが、その後、おそらくCSVファイルを開いていたであろうエクセルの空っぽのウィンドウが残ったままになり、ときには我がシステムのフォームよりも前面に出て来てしまうこともあります。
おそらく、.copy 命令のときに、自分のエクセルアプリウィンドウ内に新たなブックを生成させてそこにコピーするか、新たなエクセルアプリ自体を立ち上げてその中の新しいブックにコピーするかの違いなんじゃないかと思うのですが、どうでしょう?もしそうなら、これ、意図通りに制御することできるでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

前提としてOfficeやOSのバージョンの影響が無いように考えておられるようですが、
バージョン間の差は絶対にあり、時折こういったバグという形で発覚します。

ご自分で色々と調べてみてください。
https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/programming-for-the-single-document-interface-in-excel?f=255&MSPPError=-2147217396

投稿2018/04/04 00:18

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

neet_studier

2018/04/04 13:03

ご回答ありがとうございました。 自分には手が届かないところの話のようです。
neet_studier

2018/04/04 13:03

教えていただいたサイトはとても興味深いです。 まったく考えてもいなかったことでしたが、とても参考になりました。 ありがとうございました。
guest

0

SDIに変わったことの弊害でしょうね。

Excel 2016 (Office 365) 64bitで試してみましたが、空のウィンドウが残ることが確認できました。

残るのが嫌なのであれば、処理終了後に再度Excelを非表示にしてあげれば問題ないと思います。

その他重箱の隅をつつく話ですが、MsgBox関数の引数にVbMsgBoxStyleを使用しないのは理由があるのでしょうか?
64 の数字からvbInformationが出てくる人はそう居ないかと思われますが……

投稿2018/04/04 14:54

imihito

総合スコア2166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問