Option Explicit Dim objFileSys Dim strFilePathFrom Dim strFilePathTo 'ファイルシステムを扱うオブジェクトを作成 Set objFileSys = CreateObject("Scripting.FileSystemObject") 'コピー元のファイルのパスを指定 strFilePathFrom = "c:\temp\コピー元.txt" strFilePathTo = "c:\temp\コピー先.txt" 'エラー発生時にも処理を続行するよう設定 On Error Resume Next 'ファイルを上書きコピー Call objFileSys.CopyFile(strFilePathFrom, strFilePathTo) '元ファイルが無いなど、エラーになった場合の処理 If Err.Number <> 0 Then 'ここにエラー時の処理を記述 WScript.Echo "ファイルコピー時にエラーが発生しました。" & vbCrLf & _ "エラー番号:" & Err.Number & vbCrLf & _ "エラー詳細:" & Err.Description 'エラー情報をクリアする。 Err.Clear End If '「On Error Resume Next」を解除 On Error Goto 0 Set objFileSys = Nothing
VBSで作業ディレクトリを指定してプログラムを実行
Option Explicit Dim wShell Set wShell = CreateObject("WScript.Shell") wShell.CurrentDirectory = "c:\Program Files\example" ' 実行プログラムの指定はダブルクォーテーションでくくる wShell.Run """c:\Program Files\example\program.exe""",1,TRUE
win10アップデートでprogram files配下でvbsでファイル作成失敗するようになった?
定期アップデートしてからだと思うけど、急にエラーになるようになった。
管理者権限がいるのは元からだろうけど、
インストーラーから管理者権限が委譲されなくなった?
インストーラーのソフトの問題かな。
なんにしても困った。
Google SpredSheetでのAnalyticsの集計で週単位の期間を表示する方法
B2にga:yearWeekを表示しているときの式
=IF(B2="","",IF(MID(B2,5,2)="01",TEXT(DATE(MID(B2,1,4),1,1),"YYYY/MM/DD"),TEXT(DATE(MID(B2,1,4),1,1)+7*(MID(B2,5,2)-2)+7-WEEKDAY(DATE(MID(B2,1,4),1,1))+1,"YYYY/MM/DD"))&"~"&IF(MID(B2,5,2)="53",TEXT(MID(B2,1,4)&"/12/31","YYYY/MM/DD"),IF(MID(B2,5,2)="01",TEXT(DATE(MID(B2,1,4),1,1)+7*(MID(B2,5,2)-2)+7-WEEKDAY(DATE(MID(B2,1,4),1,1))+7,"yyyy/mm/dd"),TEXT(DATE(MID(B2,1,4),1,1)+7*(MID(B2,5,2)-2)+7-WEEKDAY(DATE(MID(B2,1,4),1,1))+7,"yyyy/mm/dd"))))
excelvbaでArray()に引数で配列を渡すと2次元配列になる
Dim items() As Variant ... '2次元配列になっちゃうので1次元配列にする t100_array = Array(items) t100_array = t100_array(0)
excel VBAで今日の日付をyyyymmdd形式で取得する
Format(Date, "yyyymmdd")
excelvbaにてVBA-JSONを利用したjsonのパース&読み込み例
こういうデータの場合
{ "20191031":[ 1605,1878,1925,1928,2502,2503,2802,2914,3382,3402, 3407,4063,4188,4452,4502,4503,4507,4519,4523,4528, 4543,4568,4578,4661,4901,4911,5020,5108,5401,5713, 5802,6098,6178,6273,6301,6326,6367,6501,6503,6594, 6702,6752,6758,6861,6869,6902,6954,6971,6981,7011, 7201,7202,7203,7267,7269,7270,7733,7741,7751,7832, 7974,8001,8002,8031,8035,8053,8058,8113,8267,8306, 8308,8309,8316,8411,8591,8601,8604,8630,8725,8750, 8766,8801,8802,8830,9020,9021,9022,9201,9202,9432, 9433,9434,9437,9502,9503,9531,9735,9843,9983,9984 ], "20190131":[ 1605,1878,1925,1928,2502,2503,2802,2914,3382,3402, 3407,4063,4188,4452,4502,4503,4507,4523,4528,4543, 4568,4578,4661,4901,4911,5020,5108,5401,5411,5713, 5802,6098,6273,6301,6326,6367,6501,6503,6594,6702, 6752,6758,6861,6869,6902,6954,6971,6981,6988,7011, 7201,7202,7203,7261,7267,7269,7270,7741,7751,7974, 8001,8002,8031,8035,8053,8058,8113,8267,8306,8308, 8309,8316,8411,8591,8601,8604,8630,8725,8750,8766, 8795,8801,8802,8830,9020,9021,9022,9064,9201,9202, 9432,9433,9434,9437,9502,9503,9531,9735,9843,9983,9984 ], ... }
コード。VBA-JSONは標準モジュールに組み込み済であること。
Dim Parsed Set Parsed = JsonConverter.ParseJson(JsonText) Dim Member For Each Member In Parsed Debug.Print Member Dim Item For Each Item In Parsed(Member) Debug.Print Item Next Next
excel vba でファイルを一気に読み込む
Dim fso As FileSystemObject Set fso = New FileSystemObject ' インスタンス化 Dim f As file Set f = fso.GetFile("c:\hoge.json") ' ファイルを取得 Dim JsonText As String JsonText = f.OpenAsTextStream.ReadAll