[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/02/26(Sun) 19:13
投稿者名:とびた
Eメール:
URL :
タイトル:
Excelのメニューとツールバーについて
環境:WinXP VB6-SP6 Excel2003

お世話になります。
VBより、Excelのメニューとツールバーを無効にしたいと考えております。
Excel-VBAでは、以下のコードでメニューとツールバーを無効に出来ましたが、
VBからでは、宣言の方法?が悪い様で、エラーになってしまいます。
ご指導宜しくお願いします。


VB6の宣言
  Dim objMenu as Excel.Application.CommandBars
    Set objMenu=CreateObject(Excel.Application.CommandBars)

Excel-VBAのコード
    Dim objMenu As CommandBarControl
    Dim objTool As CommandBarControl
    Dim intI As Integer
      
    'メニュー
    For Each objMenu In Application.CommandBars("Worksheet Menu Bar").Controls
        objMenu.Enabled = False
    Next objMenu

    'ツールバー
    For Each objTool In Application.CommandBars("Standard").Controls
        objTool.Enabled = False
    Next objTool

投稿時間:2006/02/26(Sun) 20:51
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: Excelのメニューとツールバーについて
下記でどうでしょう。Excel の詳しい操作は、ここの Excel & Word 関係をご覧下さい。
VB6.0 Excel2000 で動作確認

Private Sub Command1_Click()
'★プロジェクト→参照設定でMicrosoft Excel *.* ObjectLibraryに
' チェックを入れておいて下さい。
    Dim xlApp   As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet

    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)
    xlApp.Visible = True
    
    
    Dim objMenu As Object
    For Each objMenu In xlApp.CommandBars("Worksheet Menu Bar").Controls
        objMenu.Enabled = False
    Next objMenu
    Dim objTool As Object
    For Each objTool In xlApp.CommandBars("Standard").Controls
        objTool.Enabled = False
    Next objTool
    
    
'    xlApp.Quit  別途、終了は手動で行って下さい。
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing
End Sub

使用できないようにしたいなら下記だけでもいいのでは。
    Dim objTool As Object
    For Each objTool In xlApp.CommandBars
        objTool.Enabled = False
    Next objTool

投稿時間:2006/02/27(Mon) 09:58
投稿者名:とびた
Eメール:
URL :
タイトル:
Re^2: Excelのメニューとツールバーについて
花ちゃん さま

ありがとうございました。
おかげ様で、思ったような動作になりました。