0
を使用しながら:奇妙な振る舞い私はこれをやっている単語
import win32com.client as win32
infile = r"D:\path\to\file.docx"
# def word_table(infile):
word = win32.gencache.EnsureDispatch('Word.Application')
doc = word.Documents.Open(infile)
word.Visible = False
rng = doc.Range()
for tbl in rng.Tables:
for i in range(tbl.Rows.Count):
page_name = tbl.Cell(i, 1).Range.Paragraphs(1).Range.Text
hyper_link = tbl.Cell(i, 2).Range.Paragraphs(1).Range.Hyperlinks(1).Address
print(page_name, hyper_link)
これだけプリントhyper_link
とはしませpage_name
(私は順序を変更しても)。 しかし、私が行う場合:
print(page_name)
print(hyper_link)
これはうまくいきます。 この予期しない動作の理由を推測できませんでした。
私はこの質問への答えとして、それを投稿: How to extract hyperlinks from MS Word table with Python?
これはPython 2.xまたは3.xで実行していますか? 3.xでは、どのように違いがあるのか分かりません(項目間に改行がないことを除いて)。2.xでは、単一の 'print'文の括弧は、あなたが実際にtuple - 'str()'ではなく、アイテムの 'repr()'を取得しています。おそらく 'page_name'はブランクの' repr() 'を持つオブジェクトですか? – jasonharper
IPython 3.5が正確です。 – Rahul