[英]Using Python xlwings module to create cell comments
我正在使用xlwings從頭開始創建電子表格,並使用文本文件中的數據填充它。
我試圖找出一種使用xlwings為單元格創建注釋的方法。 從我所看到的一切來看,這是不可能的。 有人知道這樣做的方法嗎?
如果沒有,那么我過去已經創建了一個可以使用的VBA腳本,但是有什么方法可以將該VBA腳本移植到我的python腳本中? 我想這樣做,所以我不必運行python腳本,然后單獨運行VBA腳本。
先感謝您。
正如解釋在這里 ,你可以隨時落回底層pywin32對象要解決未執行的功能。 對於注釋,在Windows上看起來像這樣:
import xlwings as xw
wb = xw.Workbook.active()
xw.Range('A1').xl_range.AddComment()
xw.Range('A1').xl_range.Comment.Text('Some Text')
如果您實際上是在更新電子表格並使用xlwings,則xlwings更改了其api 。
import xlwings as xw
wb = xw.Workbook.active()
xw.Range('A1').api.AddComment('Some Text')
我第二次認為xlsxwriter非常適合從頭開始構建。
如果wb = xlwings.Book()
在具有Excel 2011的 macOS 10.12上,則wb.range('A1').api.comment
的get
和set
方法似乎不適用於XLWings 0.11.4 。 解決方法是,可以在工作簿中創建VBA宏,如下所示
Sub AddCommentHook(address As String, message As String)
Call Range(address).AddComment(message)
End Sub
(不要忘記使用開發人員工具欄的“添加宏”對話框來確保Excel工作簿了解VBA代碼。)然后,您可以按照以下方式從Python添加Excel單元格注釋:
ach = wb.macro('AddCommentHook')
ach('Sheet1!A1', 'test 123')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.