質問: @("A1", "B2", "C3", "D4", ..."Z26") と配列にしておいて、 file1を1行ずつ読み込み、対象のセルに順番に貼り付けたい。 イメージとしては、たとえば、1 $file1 | ForEach-Object {$_ } | ForEach-Object { $_ $sheet2.Range("TargetRangeArray") }※ここの記述が分かりません! のようにForEachでイテレーションして一気に貼り付けたいと思うのですが、ここの記述がどうもうまくないようでcopyやpasteなどをいろいろやってみたもののエラーになり貼り付けられません。 仮に1でできるとしても、fileから1行ずつ読み出してセルにテキスト情報のみを貼り付けるにはどう記述すればよいか、方法があればご教示いただければありがたいです。 ■追記: 3貼り付け先に結合されたセルがある場合にエラーが出て貼り付けられないのですが、貼り付ける方法はあるでしょうか? 同様に、貼り付け先にプルダウンが設定されている場合に、メニューから選択させる、という操作をPowerShellから行うことはそもそも無理なのでしょうか?
回答: Excel を新しく開いて A1 に文字列を入れるコードです。 ``` $excel = New-Object -Com Excel.Application $excel.Visible = $true $book = $excel.Workbooks.Add() $book.ActiveSheet.Range("A1").Value = "ここは A1" ``` ### 追記 結合されたセルにクリップボードから貼り付けるには結合された範囲の大きさがそろっていないといけません。 しかし上記のように値を設定するだけなら結合された範囲中の左上隅のセルに値を設定してください。