[フレーム]
Last Updated: February 25, 2016
·
538
· ejstembler

Replace Text within a Word document using IronPython

https://gist.github.com/1049552

import sys
import clr
import System
from System import DateTime

clr.AddReference("Microsoft.Office.Interop.Word")
import Microsoft.Office.Interop.Word as Word

def doc_replace_text(source_filename, tokens, values, destination_filename):

 missing = System.Type.Missing
 replaceAll = Word.WdReplace.wdReplaceAll

 word_application = Word.ApplicationClass()
 word_application.visible = False

 document = word_application.Documents.Open(source_filename)

 for i in range(len(tokens)):
 for r in document.StoryRanges:
 #print "i = %d, tokens[i] = %s, values[i] = %s" % (i, tokens[i], values[i])
 r.Find.Text = tokens[i]
 r.Find.Replacement.Text = values[i]
 r.Find.Wrap = Word.WdFindWrap.wdFindContinue
 r.Find.Execute(missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, replaceAll, missing, missing, missing, missing)

 document.SaveAs(destination_filename)
 document.Close()
 document = None

 word_application.Quit()
 word_application = None

AltStyle によって変換されたページ (->オリジナル) /