0

お問い合わせ分類:シナリオ

( 導入環境:Windows10(64bit)/仮想環境 )

( バージョン情報:WinActor-v6.3.2 )

( ご利用中の資材:「標準ユーザー用」(旧インストールレス版) )

Office2016の際に問題なく稼働していたシナリオ(指定フォルダのサブフォルダ一覧を作成する)が、Officeアップデート後、

「【エラー】「フォルダリスト作成」でエラーが発生しました。「スクリプトの実行に失敗しました。
エラー番号: 13 内容: 型が一致しません。」アクション例外の処理を実行します。ノードID:691」というエラーで落ちるようになりました。

シナリオはこちらになります。この中で型云々と言われるとすれば、$FILE_PATH_TYPEか$PARSE_FILE_PATHしかないと思うのですが、

ライブラリやマニュアルをざっと見た限りでは、特殊変数に入っている値を出力することができなさそうなのです。

(ちなみに、シナリオ自体は、特殊変数部分を削除したら動くようになりました。ので、余計に特殊変数のところでエラーになっていると

考えています。)どなたか、特殊変数の設定後の値をコンソール出力などできる方法をご存じの方はいらっしゃいませんでしょうか。

どうぞよろしくお願いいたします。

folder = !フォルダ名!
outputfile = !フォルダリスト出力先!

' フォルダ名のパス作成
If Right(folder, 1) = "\" Then
fname = Left(folder, Len(folder) - 1)
Else
fname = folder
End If

SetUMSVariable "$FILE_PATH_TYPE", "13"
SetUMSVariable "$PARSE_FILE_PATH", fname
folder = GetUMSVariable("$PARSE_FILE_PATH")

If folder = "" Then
Wscript.Quit
End If

' フォルダリスト出力先のパス作成
If Right(outputfile, 1) = "\" Then
fname = Left(outputfile, Len(outputfile) - 1)
Else
fname = outputfile
End If

SetUMSVariable "$FILE_PATH_TYPE", "12"
SetUMSVariable "$PARSE_FILE_PATH", fname
outputfile = GetUMSVariable("$PARSE_FILE_PATH")

If outputfile = "" Then
Wscript.Quit
End If

'ファイルシステムを扱うオブジェクトを作成
Set objFileSys = CreateObject("Scripting.FileSystemObject")

If objFileSys.FolderExists(folder) <> True Then
Err.Raise 1, "", "フォルダ指定に失敗しました。"
End If

'folderのオブジェクトを取得
Set objFolder = objFileSys.GetFolder(folder)

'出力用 TextStream オブジェクトを作成
'第2引数は 1 :読み取り、2 :上書き、3 :追記。
Set objOutputTextStream = objFileSys.OpenTextFile(outputfile, 2, True)

'FolderオブジェクトのSubFoldersプロパティからFolderオブジェクトを取得
For Each objSF In objFolder.SubFolders
'サブフォルダのフルパスを取得し、ログファイルに出力
objOutputTextStream.WriteLine objSF.Path
Next

objOutputTextStream.Close
Set objOutputTextStream = Nothing
Set objSF = Nothing
Set objFolder = Nothing
Set objFileSys = Nothing

luna 新しいコメントを投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。