[[20180112231037]] 『エクセルのマクロについて』(リキュール) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルのマクロについて』(リキュール)

現在、WindowsVista、Excel2003でマクロを実行していましたが、新たに購入したWindows10、Excel2016では正常に動作しません。
作業内容は、エクセルを起動した時に自動実行するプログラムを使用して、メニューバー等を非表示にするものです。
ThisWorbbookに以下を記載しております。
WindowsVista→Windows10、Excel2003→Excel2016 でどこかを変更する必要があるのでしょうか。
よろしくお願いいたします。
Option Explicit
Private Sub workbook_open()
Application.CommandBars("Worksheet Menu Bar").Enabled = False
Application.DisplayFormulaBar = False
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
Application.CommandBars("Drawing").Visible = False
ActiveWindow.DisplayHeadings = False
End Sub

< 使用 Excel:Excel2013、使用 OS:WindowsVista >


初歩的な確認ですけど、そのブックを開くときにマクロは有効に(実行を許可)してるんですよね?

自信ないですけど、2003→2016だから、メニューバーとリボンの違いがまずありそうな気がしなくもないです。
(もこな2) 2018/01/12(金) 23:54


マクロは有効に(実行を許可)をしています。
拡張子を.xlsxではなく、互換モード.xlsを使用していますが、これが関係するでしょうか。
リボンの非表示については
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
と言う記載があったので
Application.CommandBars("Worksheet Menu Bar").Enabled = False
の部分を変更してみましたがダメでした。
(リキュール) 2018/01/13(土) 00:25

おはようございます。

 Sub bar_del()
   Application.DisplayFormulaBar = False
   ActiveWindow.DisplayHeadings = False
   Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
 End Sub
 Sub bar_back()
   Application.DisplayFormulaBar = True
   ActiveWindow.DisplayHeadings = True
   Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
 End Sub
ご指摘のとおり。
vbaリボンを非表示にする。。。で検索すると。。。いろいろありました。
Win10、Excel 2016 の当方環境では
みんな消えましたです。
拡張子は xlsm です。

(隠居じーさん) 2018/01/13(土) 06:36


Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
でvbaリボンを非表示にできました。

別の問題ですが、ファイルを開くのに VBSスクリプト を使用しています。
以前は問題なく動作していたのですが
WindowsVista→Windows10、Excel2003→Excel2016
では読み取り専用でファイルが開いてしまいます。
単独で開けば問題ありません。
よろしくお願いいたします。

Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = False
ExcelApp.DisplayAlerts = False

With ExcelApp.Workbooks

	.Open "C:\DATA\ロット管理\コード表.xls"
	.Open "C:\DATA\ロット管理\DATA.xls"
	.Open "C:\DATA\ロット管理\マクロPRG.xls"
end With
ExcelApp.DisplayAlerts = True
ExcelApp.Visible = True
Set ExcelApp = Nothing
(リキュール) 2018/01/13(土) 10:40

あらかじめ。以下回答ではなく便乗?質問です。

私のスキルだと、VBスクリプトはわからないので自分が組む場合は、メインブックのWorkbook_Openイベントで必要なブックもセットで開くようにWorkbooksコレクションのOpenメソッドつかってブックを開くと思うんですけど、そうではなくてVBスクリプトで実行するメリットみたいなものはあるのでしょうか?

(もこな2) 2018/01/13(土) 11:33


リキュール さん

おはようございます。

ご呈示のコードをコピペで、拡張子をvbsでd:\excelフォルダに保存後
Cドライブに同名フォルダと
拡張子、xlsの同名ダミーファイル3個を使い
先ほど、テストしましたけど。同じく当方では問題なく、通常モードで
全てオープンできました。

。。。。。 だれか他の方が、おなじVBS起動して重複オープンだったってことは
無いですよね〜。

(隠居じーさん) 2018/01/13(土) 11:47


>VBスクリプトで実行するメリット
大きなファイルなので、ファイルの読みこみ中・・・・のメッセージ表示させるためです。

ファイルが開いたとき「読み取り専用」の表示は解決しました。
しかし、タスクバーに表示されるファイルの色がオレンジ色のようになっています。
そのファイルを自体をマウスでクリックすると普通になります。
また、単体で開くと全画面なのですが、VBSで開くと小さい画面になります。

(リキュール) 2018/01/13(土) 17:58


   Set ExcelApp = CreateObject("Excel.Application") 
   ExcelApp.Visible = False 
   ExcelApp.DisplayAlerts = False 

   With ExcelApp.Workbooks 

       .Open "C:\DATA\ロット管理\コード表.xls"
       ExcelApp.DisplayAlerts = True
       ExcelApp.Visible = True
       ExcelApp.WindowState = -4137
       .Open "C:\DATA\ロット管理\DATA.xls"
       ExcelApp.DisplayAlerts = True
       ExcelApp.Visible = True
       ExcelApp.WindowState = -4137
       .Open "C:\DATA\ロット管理\マクロPRG.xls"
       ExcelApp.DisplayAlerts = True
       ExcelApp.Visible = True
       ExcelApp.WindowState = -4137

   end With
   Set ExcelApp = Nothing
で、全て最大Windowサイズで起動します。
オレンジ色は。。。わかりません。

m(__)m

(隠居じーさん) 2018/01/13(土) 18:26


なるほど、、自分はメッセージが必要でもVBAでなんとかしちゃえって発想なのでVBSで何とかするって手は思いつきませんでした。

>タスクバーに表示されるファイルの色
これは、OS側の挙動じゃないですかね。フォーカス持ってないウィンドウになんかアクションあったときにそういう感じなることがあります。(Outlookにフォーカスがないときにメールを受信したときなど)
なので、スクリプトで開かれてフォーカスがないウィンドウが開かれましたよ〜ってアピールしてるだけじゃないでしょうか(あんまり自信なし)

>VBSで開くと小さい画面
スクリプトはわからないので 回答パスで・・・すみません。
(もこな2) 2018/01/13(土) 18:34


ほぼ解決しましたが、最初のファイル
だけがオレンジ色になっています。このファイルだけ問題があるのか調査中です。
 "C:\DATA\ロット管理\コード表.xls"

(リキュール) 2018/01/13(土) 20:31


すみませんでした。
 Set ExcelApp = CreateObject("Excel.Application") 
     ExcelApp.Visible = False 
     ExcelApp.DisplayAlerts = False 
     With ExcelApp.Workbooks 
         .Open "C:\DATA\ロット管理\コード表.xls"
         ExcelApp.WindowState = -4137
	 .Open "C:\DATA\ロット管理\DATA.xls"
         ExcelApp.WindowState = -4137
	 .Open "C:\DATA\ロット管理\マクロPRG.xls"
         ExcelApp.WindowState = -4137
     end With
     ExcelApp.DisplayAlerts = True
     ExcelApp.Visible = True
 Set ExcelApp = Nothing
でよかったみたいです。
オレンジ色は。。。当方でも発生ですが、1秒ほどで消失してます。
最初のファイルのサイズはいかがですか?一番大きいとか?
多分読込み中...の表示なのかもです。(あくまで私の想像です。...けど)

m(__)m

(隠居じーさん) 2018/01/13(土) 23:41


追伸 検索代行 ^^

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13158783313

ご参考まで。
(隠居じーさん) 2018/01/13(土) 23:49


隠居じーさん お世話になります。

正常に動作するようになりました。
ありがとうございました。
(リキュール) 2018/01/14(日) 19:43


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.