画像のように特定のファイル(Book1)のみ、開いたときにリボンの非表示、
ウィンドウサイズの固定をしたい場合、どのようにすればよいでしょうか。
Book1のVBAでThisWorkbookに以下のコードを入れると、別のファイルを開いたときに
開いたファイルも同じ設定が有効になってしまうので、回避できる方法があれば
教示頂きたい思います。
Private Sub Workbook_Open()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
With Application
.WindowState = xlNormal '標準
.Width = XXX
.Height = XXX
End With
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは、
>特定のファイル(Book1)のみ、開いたときにリボンの非表示、
>ウィンドウサイズの固定をしたい場合、どのようにすればよいでしょうか。
Application.~で設定するとApplicationの設定を変える事になるのですべてのExcelに影響してしまいます。
なので、リボンに関しては、customUIのxmlファイルでブックのインスタンス時に設定します。
Office Ribbon Editor などのソフトをお持ちであれば、比較的容易ですが、zipを介して行うなどの場合、少し面倒です。
CustomUIの導入方法など少し古いですが、下記を参考にしてください。
https://thom.hateblo.jp/entry/2018/06/13/043244
ちなみに、サイト内のCustomUI.xml は、 Excel2010以降であれば、customUI14.xml としてください。
簡単な設定内容は、
.rels の内容
<Relationship Type="h ttp://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="/customUI/customUI14.xml"/>
</Relationships> ’現存します
を追加してください。
customUI14.xmlの内容
<customUI xmlns="h ttp://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="true">
<tabs>
<tab idMso="TabHome" visible="false"></tab>
</tabs>
</ribbon>
</customUI>
注意:実際には h ttp: のスペースを消してください。
設定すると、このブックでユーザーはリボンの設定を含め使えません。
(VBAでカスタマイズする事は出来ます)
新規ブックなどでテストしてください。
次にウィンドウサイズの固定ですが やはりApplication.~ではダメなので
WindowsAPIを使います。
この辺りは、OSバージョンやofficeバージョンが不明なのでご自身で調べる必要があります。
一応サンプルを書きますが、(使用目的など不明の為)期待する結果かどうかは、分かりません。
先ず、ThisWorkbook モジュールに
Private Sub Workbook_Open()
flag = True
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
If flag = True Then
Call Module1.Test_Sample(Wn) ’モジュール名は適時変更
flag = False
Else
End If
End Sub
Private Sub Workbook_WindowResize(ByVal Wn As Window)での制御も可能か?
標準モジュールModule1へ
'Win32API
Private Declare Function _
MoveWindow Lib "user32" ( _
ByVal hWnd As Long, _
ByVal X As Long, _
ByVal Y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal bRepaint As Long) As Long
Private Declare Function _
SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" ( _
ByVal uAction As Long, _
ByVal uParam As Long, _
ByRef lpvParam As Any, _
ByVal fuWinIni As Long) As Long
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Sub Test_Sample(myWn As Window)
Dim Ret As Long
Dim hWnd As Long
Dim typRect As RECT
Call SystemParametersInfo(48, 0, typRect, 0)
Ret = MoveWindow(myWn.hWnd, typRect.Right - 600, 50, 500, 500, 1)
End Sub
幅500高さ500のwindowが画面上から50の、画面の右側から600に
サイズ(境界線での)変更、移動が共に出来ないWindowが表示されます。
ボタンの表示変更で解けます。
MoveWindowでない方が色々設定できると思いますが、何かと分かり難くなると思いますので
とりあえず。。
No.3
- 回答日時:
リボンの方だけ。
「開く時」のイベントではなく
アクティブ時、非アクティブ時のイベントで制御すればよろしいかと。
Private Sub Workbook_Activate()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
End Sub
Private Sub Workbook_Deactivate()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",TRUE)"
End Sub
No.2
- 回答日時:
#1です
入力忘れ
Option Explicit
Dim flag As Boolean ’忘れました
Private Sub Workbook_Open()
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) Excel VBA マクロ 先頭行の固定とオートフィルター設定を全てのシートに適用したいです 1 2022/11/12 15:32
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル:特定のブックのみ、ツールバーの設定をしたい
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
エクセルVBAのメニューバー&リボンを再表示させる方法について
Excel(エクセル)
-
-
4
開いたとき常に同じ大きさ・位置で表示したい
Windows 7
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
コマンドボタンやイメージにマウスをのせるとボタン名を表示したい
Excel(エクセル)
-
7
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
10
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
11
VBAで任意のウインドウのサイズを変更する方法
Visual Basic(VBA)
-
12
フォントの大きさ
Visual Basic(VBA)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
【VBA】Worksheet_changeイベントで特定のキーが押されたときだけ無効にしたい
Visual Basic(VBA)
-
15
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
16
ブックをCloseまたはQuitで閉じると他のユーザーフォームが消えてしまう。
Excel(エクセル)
-
17
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
-
18
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
19
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
20
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MacのExcleですが ”Excelのオプ...
-
「古いアイテムの整理」が出て...
-
Excel ページ設定-ヘッダーの...
-
受信メールのPDFファイルがワー...
-
Lhaplusのパスワード設定について
-
Access2007ファイルを開こうと...
-
携帯からPDF内リンク先へクリッ...
-
Aviutlの設定ダイアログについて
-
秀丸エディター カーソル行に色...
-
秀丸で1行の文字数を指定するに...
-
IrfanViewの画像のみの再生の仕方
-
PowerPointで、ハイパーリンク...
-
エクセルを起動するとグレーな...
-
ビットパーフェクトなリッピン...
-
ハイパーリンクをフォルダーに...
-
i鞫怩?アップロードしても、画...
-
秀丸でローカルパスをリンクと...
-
エクセルを私が開くと日付の表...
-
ワードで原稿用紙風に書く方法
-
フォトショップで画像を丸く切...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MacのExcleですが ”Excelのオプ...
-
「古いアイテムの整理」が出て...
-
受信メールのPDFファイルがワー...
-
【初心者】XAMPPのapacheの(恐...
-
PowerPointのオプションの設定...
-
特定のファイルのみリボンの非...
-
Excel ページ設定-ヘッダーの...
-
プロファイルが無視される設定...
-
携帯からPDF内リンク先へクリッ...
-
IrfanViewの画像のみの再生の仕方
-
サクラエディタの設定項目が保...
-
秀丸の行番号について
-
AUTO CAD は、使いやすいか?...
-
秀丸でローカルパスをリンクと...
-
サクラエディタのgrepのデフォ...
-
ハイパーリンクをフォルダーに...
-
PDFをパソコンで閲覧する時に、...
-
gimp2.6で座標指定して直線を引く
-
GOM Playerの再生時間を0コン...
-
インターネット一時ファイルの...
おすすめ情報