2

PowerShell を使用して、著作権文字を Microsoft Word ドキュメントに出力しようとしています。たとえば、以下にリストされているコードは、私が使用しようとしているものであり、機能していません。

$SummaryPara.Range.Text = "© "
$SummaryPara.Range.Text = "Get-Date -Format yyyy"
$SummaryPara.Range.Text = " - Name of Org Here "
$SummaryPara.Range.InsertParagraphAfter()

Altどういうわけか+0169シーケンスを使用する必要がありますか?

次のコードが機能しているように見えるため、何が間違っているのかわかりません。

$selection.TypeParagraph()
$selection.TypeText("© ")
$selection.TypeText((Get-Date -Format yyyy))
$selection.TypeText(" - Name of Org Here ")
$selection.TypeParagraph()

著作権文字と他の同様の特殊文字の両方でこれを機能させるにはどうすればよいですか?

4

1 に答える 1

5

ここにはいくつかの問題があります。それらをリストし、それぞれに対処します。

  1. Unicode 表現を にキャストすることで、必要な任意の文字を取得できますchar。この場合

    [char]0x00A9
    
  2. $SummaryPara.Range.Text新しい値を3 回割り当てます。したがって、連結(「+」演算子)する代わりに、毎回前の値を上書きしています。これは、あなたがやろうとしていたことだと思います。

  3. コマンドレットGet-Dateを使用しようとしていますが、それを引用しているため、コマンドレットの結果ではなく、リテラル文字列 "Get-Date -Format yyyy" になります。

すべてをまとめると、次のようなものが必要だと思います。

$word = New-Object -ComObject Word.Application
$doc = $word.Documents.Add()
$SummaryPara = $doc.Content.Paragraphs.Add()
$SummaryPara.Range.Text = [char]0x00A9 + ($date = Get-Date -Format yyyy) + " - Name of Org Here "
$word.Visible = $true
于 2012-06-05T00:35:58.180 に答える