同じ書式フォントを持たないワードドキュメントにランダムなスペースがあり、それを囲むフォントにフォントを変更する方法を見つけようとしています。フォントタイプの不一致を修正するWord vb
私は、テキストを選択し、色付きのテキストに置き換え、私がテストしたいくつかのVBが見つかりました:
Sub ChangeFont()
With ActiveDocument.Content.Find
.ClearFormatting
.Text = " "
Dim fontName As String
fontName = "Calibri"
With .Replacement
.ClearFormatting
.Font.Name = fontName
End With
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Sub
今私が代わりに、フォント、テキストと色を交換する方法を特定しようとしています、その前にある文字のフォントを取得し、その文字に存在するフォントを適用します。インデックス値を取得してフォント名をreplaceコマンドに取り込む方法はありますか?これを行う簡単な方法はありますか?
理想的には、私はpowershellでこれをやってみたいと思いますが、上記のコードはVBで動作しますが、私はそれを適応させようとしたときにはっきりと何かをねじ込みました。
$app = New-Object -ComObject Word.application
$app.Visible = $True
$doc = $app.Documents.Open($FileName,$null) #Open FileName, ConfirmConversions , ReadOnly -1 = MSOTrue
$Content = $doc.Content.Find
$Content.ClearFormatting
$Content.Text = " "
$Content.Replacement.ClearFormatting
$Content.Replacement.Text = "TEST"
$Content.Replacement.Font.Name = "Georgia"
$Content.Forward = -1 #true
$Content.Wrap = 1 #wdFindContinue
$Content.Format = -1
$Content.MatchCase = 0 #false
$Content.MatchWholeWord = 0
$Content.MatchWildcards = 0
$Content.MatchSoundsLike = 0
$Content.MatchAllWordForms = 0
$Content.Execute.Replace("2") #wdReplaceAll
$doc.Close() | out-null
$app.Quit() | out-null
間違ったタグがあると思われます。 VB.NETはVBA – Plutonix
ではありません。私はむしろこれをpowershellでやってみたいと思いますが、最初にやる方法を理解しようとしています。 – Jewtus