Win8 Excel2010です。
以下のEXCEL VBA の文章を教えて下さいm--m
すべてのエクセルウィンドウを、最小化した状態で(見えなければ良い)、UserForm2.Showしながら、上書き保存してを閉じる。
その際、閉じる前に以下のマクロを実行する。
With ActiveWindow
'''罫線を表示
.DisplayGridlines = True
'''行列番号を表示
.DisplayHeadings = True
'''アウトライン記号を表示
.DisplayOutline = True
'''シート見出しを表示
.DisplayWorkbookTabs = True
'''メニューを表示
Application.CommandBars("Worksheet Menu Bar").Enabled = True
'''ツールバーを非表示
For Each cb In Application.CommandBars
cb.Enabled = True
'''数式バーの非表示
Application.DisplayFormulaBar = True
'''ステータスバーの非表示
Application.DisplayStatusBar = True
Next
End With
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんばんは。
もしかしたら思ったようにいかない可能性があります。
単純に考える人もいますが、長くやってみないと見えてこない部分もあるはずです。
私自身、こういうものは、知っているだけに気後れがしてしまいます。
簡単なことを難しく考えているようには見えますが、意外に、この種のものは、むつかしいです。
これを土台に、いろいろ試してみてください。
以下は、ユーザーフォームのコマンドボタンにつけるものです。
>すべてのエクセルウィンドウを、最小化した状態で(見えなければ良い)、
この部分は、どうするかお任せになります。
なせなら、それは、今回の質問内容とは別の問題のように思うからです。
以下は、おかしな部分があるような疑念がわくはずですが、以前、同様のものを何度も繰り返して、Excel 2007以上では、Excel のアプリケーションが終わらない現象があります。それで、このようなコードになりました。(別の掲示板では、この内容を間違いだと決めつけた人がいますが、Quit と Saveが逆にするのは、古くからの手法です)
また、名前を付けていないブックは、名前を付けて保存するか、捨ててしまうか、どちらかになります。
ThisWorkbookを最後にしないと、このような場合は、UserFormを立ち上げたままですと、途中で終了させると、ハングやクラッシュする可能性があります。
'//
Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim fn As Variant
For Each wb In Application.Workbooks
If wb.Name Like "Book#*" Then
fn = Application.Dialogs(xlDialogSaveAs).Show
If Not VarType(fn) = vbBoolean Then
wb.SaveAs fn
wb.Close False
Else
wb.Close False
End If
ElseIf Not (wb.Name = ThisWorkbook.Name Or wb.Name Like "PERONAL.*") Then
If wb.Saved = False Then
wb.Save
End If
wb.Close False
End If
Next
Call SettingBack(ThisWorkbook.Windows(1))
If ThisWorkbook.Saved = False Then
Application.Quit
ThisWorkbook.Close True 'ここは、逆で可能なのです。
Else
Application.Quit
ThisWorkbook.Close
End If
Application.Quit 'これでも閉じなければ、下のコードも活かしてください。
'Application.Quit '予備
End Sub
Sub SettingBack(wb As Window)
Dim cb As Object
On Error Resume Next
With wb.Windows(1)
.DisplayGridlines = True '罫線を表示
.DisplayHeadings = True '行列番号を表示
.DisplayOutline = True 'アウトライン記号を表示
.DisplayWorkbookTabs = True 'シート見出しを表示
Application.CommandBars("Worksheet Menu Bar").Enabled = True 'メニューを表示
For Each cb In Application.CommandBars 'ツールバー
cb.Enabled = True
Next
Application.DisplayFormulaBar = True '数式バーの非表示
Application.DisplayStatusBar = True 'ステータスバー
End With
On Error GoTo 0
End Sub
'//
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月60時間以上の時間を求める
-
googleマップを半径表示させる...
-
EXCELでピボットテーブル...
-
POWERPOINT のガイドが縦方向の...
-
PayPayのアカウント情報を入力...
-
エクセルの最終保存者の表示
-
DW20.EXE-アプリケーエラーション
-
グーグルドライブのファイルが...
-
EXCELをバックグラウンドで実行...
-
excel関数 変動する休憩時間等...
-
GIMPの枠線
-
困ってます
-
新バージョンのDraftsightで円...
-
クリップボードを表示させたく...
-
HTML内からPDFにリンクを貼...
-
色の名前がカーソルを合わして...
-
windows7でexcelを複数 画面に...
-
秀丸でバッチファイルのコメン...
-
TeraTermのタイトルバーの表示...
-
一時的に“計算結果の代わりに数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
googleマップを半径表示させる...
-
月60時間以上の時間を求める
-
エクセルの最終保存者の表示
-
PayPayのアカウント情報を入力...
-
POWERPOINT のガイドが縦方向の...
-
EXCELでピボットテーブル...
-
excel関数 変動する休憩時間等...
-
EXCELをバックグラウンドで実行...
-
TeraTermのタイトルバーの表示...
-
色の名前がカーソルを合わして...
-
クリップボードを表示させたく...
-
Media Player Classicで演奏時...
-
音楽ファイルの合計時間が秒単...
-
Beckyの新規作成で全角スペース...
-
新バージョンのDraftsightで円...
-
HTML内からPDFにリンクを貼...
-
ニコニコ動画をデスクトップに...
-
エクセルのシート番号とスライ...
-
google earthで地図表示はでき...
-
イラストレーターの表示濃度を...
おすすめ情報