[英]VBA Replace From Excel to Word
我使用VBA codeI拿起網上基本輸入幾個部分,並且讓Excel然后編輯Word模板,替換<oaccount>
對輸入的帳號和<date>
為某事的日期等。
我面臨的問題是,在使用它時,輸入的是單元格的核心值,而不是您看到的內容……例如,除了日期和 $ 金額外,我的所有內容都可以正常工作,因為當它替換<date>
和<amount>
在輸入 24/04/2019 和 $3,460.00 時分別顯示為“240419”和“3450”。
我想知道如何讓 Excel 用 Excel 的實際顯示值替換關鍵字。
以下是我用來執行此操作的內容:
Option Explicit
Public Sub WordFindAndReplace()
Dim ws As Worksheet, msWord As Object
Set ws = ActiveSheet
Set msWord = CreateObject("Word.Application")
With msWord
.Visible = True
.Documents.Open "F:\Test folder\TestFolder\Test.docx"
.Activate
With .ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "CName"
.Replacement.Text = ws.Range("C1525").Value2
.Forward = True
.Wrap = 1 'wdFindContinue (WdFindWrap Enumeration)
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=2 'wdReplaceAll (WdReplace Enumeration)
End With
.Quit SaveChanges:=True
End With
End Sub
您是否嘗試過在替換行上使用 Format 功能? 有一個頁面描述它here 。 您還可以嘗試使用 CStr() 函數將其轉換為同一行中的字符串。
如果您使用格式,它看起來像這樣: .Replacement.Text = Format(ws.Range("C1525").Value2,"dd/mm/yyyy")
如果您使用字符串轉換,它將如下所示: .Replacement.Text = CStr(ws.Range("C1525").Value2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.