簡體   English   中英

使用Python xlwings模塊創建單元格注釋

[英]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.commentgetset方法似乎不適用於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM