|
何度もお手数をおかけします。
>>exlApp.Workbooks.Open "\\00.00.00.00\**\**.xls"
>すみません。ネットワーク環境がないので、↑ちょっと分かりません。
こちらは、たまたまネットワーク上にエクセルファイルが置いてあっただけで、
exlApp.Workbooks.Open "c:\**.xls"
Cドライブ直下に移動させて上記でも構いません。
オープンするファイルパスを指定しているだけ…ですが、
すみませんぼかし方がわかりにくかったですね。
>これ、どこか他のセルに( たとえば[D1]セルに ) =TODAY() と書いておけば、
>式は
> =VALUE(TEXT(D1,1,$A$2:$A$256),"yyyy/mm/dd")&" 09:00")
>だけで済むのではないかしら?
>(ま、本題とは関係ないことでしょうが)
workday関数だと、祝日や特別休暇以外は記入しなくても、
土日は勝手に休日として扱ってくれるため利用しております。
確かにA2〜A256に土日を含めた全ての休日を入れていれば、それでも代用可能かと思います。
ただそうすると毎年土日含めてデータを作らないとなので…。
バージョンはexcelから立ち上げた場合もvbsから立ち上げた場合も11.0となりました。
ここからはVBA質問箱とは趣旨がずれてしまうのですが…
VBS側を以下のようにして、分析ツールのリフレッシュを行えば、
workday関数がエラーになりません。
ただし、このままではマクロが動いてくれません。
Option Explicit
Const cnsBook = "c:\**.xls"
Const strProcName = "before"
dim xlApp,xlBook
Set xlApp = CreateObject("Excel.Application")
' 本スクリプトファイルのフォルダ名の取得
'アドインリフレッシュ
Call AddinRefresh(xlApp,"分析ツール")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open(cnsBook, False, True)
xlApp.Run strProcName '現在これがうまく作動しません
xlApp.Quit 'こちらは動きます
Set xlBook = Nothing
Set xlApp = Nothing
Private Sub AddinRefresh(inXlsApp,inAddinName)
On Error Resume Next
inXlsApp.AddIns(inAddinName).Installed = False
inXlsApp.AddIns(inAddinName).Installed = True
End Sub
WORKDAY関数を削除して、毎年土日を自動的に取得するように作るほうが楽かもしれませんね…。
|
|