つまり、基本的にテーブルである Excel ドキュメントがあります。
この目的のために、これを使用します: ダミーデータ
私がやりたいことは、これらのセルから値を取得し、.txt ファイルに配置することです。ただし、テキスト ファイルには必要なフォーマットがいくつかあり、スプレッドシートの「エントリ」(行) ごとのパターンに従います。
例えば
***********
**THIS IS A FANCY TEXT FILE**
***********
<Start of entry text>
Predefined text here (Entry 1): $A1
Predefined text here: $B1,$C1
Predefined text here: $D1,$E1,$F1
Predefined text here: $G1,$H1
Predefined text here: $I1
Predefined text here: $J1,$K1,$L1
Predefined text here: $M1,$N1
<End of entry text>
<Start of entry text>
"As Above"
<End of entry text>
etc, etc
また、可能であれば、すべての値を一列に並べると便利です。すなわち。最後の 4 行とは対照的に、最初の 3 行がそうです。
スクリプトを実行して、事前定義されたデータを含む .txt ファイルを出力し、その後にテーブルの各エントリのセルの関連値を出力できるようにしたいと考えています。ある種の「For Each」ループが必要になると思います。多くの変数を定義する必要があります。私は本質的にコーダーではなく、絶対に必要な場合にのみ手を出します。
どうぞよろしくお願いいたします。
VBA が最も一般的なオプションであると想定していますが、潜在的な PowerShell ソリューションも受け入れています。
- XViper
わかりましたので、いくつかのpowershellオプションを調べて、そのアプローチを取りたいと思います。
Import-XLS 関数を使用して動作させることができました。ただし、出力を .txt ファイルに取得する方法がわかりません。
Import-XLS '.\DummyData.xlsx' | Foreach-Object{
Write-host "Predefined data:" `t $_."Value 1"
Write-host "Predata:" `t`t`t $_."Value 2"
これは私にこれを与えます。
Predefined data: AA
Predata: 11
Predefined data: BB
Predata: BB11
Predefined data: CC
Predata: CC11
Predefined data: DD
Predata: DD11
Predefined data: EE
Predata: EE11
Predefined data: FF
Predata: FF11
Predefined data: GG
Predata: GG11
Predefined data: HH
Predata: HH11
Write-Host を使用して出力できないことはわかっていますが、すべてのデータを「収集」して、最後に「ForEach」を .txt に出力するにはどうすればよいですか?
まとめて出力することはできますか?または、各行を一度に 1 つずつ出力する必要がありますか?
ありがとう!
わかりました...それで、さらにいくつか試してみました。
$OutFile = ".\OutTest$(get-date -Format dd-MM).txt"
$Content = Import-XLS '.\DummyData.xlsx'
$Content | foreach-object{
Write-Output "Text1" $_."Value 1"
Write-Output "Text2" $_."Value 2"
} | Out-File $OutFile
したがって、これは機能しているように見えますが、問題は、すべてが新しい行にあることです。
だから私はこれを得る:
Text1
AA
Text2
11
Text1
BB
Text2
BB11
Write-Host を使用できるように、テキストをフォーマット/レイアウトできる必要があります。これは可能ですか?
「Value 1」は「Text1」と同じ行にある必要があります
私もする必要があるかもしれません
一部の行で「Text1: $Value1, $Value2, $Value3」。
再度、感謝します!