Excelファイルにいくつかの機能を追加しています。 Excelファイルのリストは、$excelFiles
という配列として関数に渡されます。以下に示すコードは進行中です(まだ実行していることはありません)。ここで配列から来た変数に二重引用符を追加する
Function CovertExcelFileToTextFiles ($excelFiles)
{
# create an Excel application object (fire off Excel in the background)
$excelApp = New-Object -ComObject Excel.Application
$excelApp.Visible = $false
$excelApp.DisplayAlerts = $false
# get first 3 letters of each file's name
foreach ($excelFile in $excelFiles)
{
$name = Split-Path $excelFile.FullName -Leaf #get filename only from full path
$prefix = $name.Substring(0,3) #get first 3 letters of filename
#look at contents of this variable
$excelFile
$wb = $excelApp.Workbooks.Open($excelFile)
foreach ($ws in $wb.Worksheets)
{
$n = $prefix + "_"+ $ws.Name
$n
}
}
$excelApp.Quit()
}
に表示されるエラーされています。これまでに書かれた(右のネストされたforeach
前)$wb
変数を設定します$excelFile
で開催された文字列の前後に引用符が存在しないため、このコードは、失敗しているように見えますコンソール:$wb
は、ハードコードさファイルパスに設定されている場合、コードは動作しますので、私は問題は引用符の欠如である疑いがある
理由があります。
$wb
を設定する行に入力する変数を二重引用符で囲む方法がわかりません。私は"$excelFile"
を試してみました。エディタはその下に赤い波打ち線を置いていますので、それは許されません。私はまた、新しい変数を作成し、"$excelFile"
でそれを設定し、それを$wb
行のかっこに差し込みました。そのため、コンソールにもエラーが発生します。二重引用符はどのようにして$excelFile
に置くことができますか?
はい、それはオブジェクトです。 '$ excelFile.FullName'はそれを修正しました! – knot22
インラインコードスニペットはどのようにして作成しますか? – knot22
@ knot22他の状況でこの問題を解決するのに役立つトラブルシューティングのヒントについては、私の編集を参照してください。 – briantist