|
こんにちは、桜です。
少々畑が違うかもしれませんが、もし可能ならお力を貸してください。
作成したマクロ入りexcelファイルを、
「読み取り専用」「マクロ有効」で立ち上げたくVBを作成しました。
「読み取り専用」「マクロ有効」でファイルを立ち上げるところまでは成功したのですが
そのファイルに「WORKDAY関数」が含まれており、これが無効の状態で立ち上がってしまいます。
オープンマクロでアドインのリフレッシュを試みたのですが
一度WORKDAY関数が使われているセルをクリックし、その後エンターを押さないと有効化されません。
■VB側
Option Explicit
Const cnsBook = "test.xls"
Const xlAutoOpen = 1
Dim objExcelApp, objWbk, strPath
' 本スクリプトファイルのフォルダ名の取得
With WScript
strPath = Replace(.ScriptFullName, .ScriptName, "")
End With
' Excelのオブジェクトの参照を取得
Set objExcelApp = CreateObject("Excel.Application")
' 指定のワークブックを開く(同一フォルダ)。
Set objWbk = objExcelApp.Workbooks.Open(strPath & cnsBook, False, True)
' Excelウィンドウを表示
objExcelApp.Visible = True
' 自動起動マクロ(Auto_Open)があれば実行
objWbk.RunAutoMacros xlAutoOpen
Set objWbk = Nothing
Set objExcelApp = Nothing
■EXCEL VBA側(
Private Sub Workbook_Open()
AddIns("分析ツール").Installed = False
AddIns("分析ツール").Installed = True
End Sub
※VBA側に、一度「WORKDAY関数」を使用しているセルをアクティブにし、
その後最初に表示したいワークシートをアクティブにするコードも入れてみたのですが上手くいきませんでした。
よろしくお願いいたします。
|
|