2014-01-08 70 views
-2

我使用下面的代碼來寫一個文本文件中的ms字,但它不寫行。此外,我無法從中設置頁面的寬度和高度。我將wordapp.PageSetup.width用於某個值,但它拋出了錯誤。 請建議在哪裏我不..使用python寫入word

import win32com.client 
read = open('out.txt','r') 
curser = read.readlines() 

wordapp = win32com.client.Dispatch("Word.Application") 
wordapp.Visible = 0 
x = wordapp.Documents.Add() 
x.PageSetup.Orientation = 1 # Make some Setup to the Document: 
x.PageSetup.LeftMargin = 0.4 
x.PageSetup.TopMargin = 0.5 
x.PageSetup.Width = 8.27 #This threw an error 
x.PageSetup.BottomMargin = 0.5 
x.PageSetup.RightMargin = 0.4 
x.Content.Font.Size = 11 
x.Content.Paragraphs.TabStops.Add (100) 
x.Content.Text = curser #This threw an error 
x.Content.MoveEnd 
x.Close() # Close the Word Document (a save-Dialog pops up) 
x.Quit() # Close the Word Application 
+0

「An」錯誤?你可能想要詳細說明哪一個。 – usr2564301

+0

我的意思是爲什麼我不能使用Content.Text = curser,爲什麼只有curser [n]以及如何才能夠修改word文檔的寬度和高度..? 在此先感謝 – Tirthajust4u

+0

我的意思是爲什麼你不能告訴我們***你得到的***錯誤**,而不是說你得到了「**錯誤**」。提前致謝。 – usr2564301

回答

3

你的Python接口使用標準的API接口,Microsoft Office應用程序,等等所有你需要知道可以在http://msdn.microsoft.com/en-us/library/office/ff835409.aspx找到。

一個非常快速瀏覽發現你正在尋找的財產不叫PageSetup.Width,它應該是PageSetup.PageWidth。我沒有檢查,但我想你的「光標」問題是相同的 - x.Content.Text可能只是作爲一個屬性不存在。

你在做什麼被稱爲「Cargo Cult Programming」 - 也就是說,你輸入的命令沒有真正知道他們做了什麼,也沒有看到他們,而是依賴於其他「有效的代碼」(我猜測:從諸如The Python Script Collection之類的資源複製),似乎相關的命令的重複部分,並且在你去的時候彌補了任何遺漏的屬性。

這是不是推薦的學習方式。

+0

是的,我承認,我複製了代碼,因爲我沒有任何有用的文檔。我將研究關於Microsoft Office的API以應用於我的程序。即使用你的答案,PageWidth的問題還沒有解決。不過,我會自己試着回答這個問題。 真的很感謝你的建議。 – Tirthajust4u