2015-11-04 44 views
1

我有一個包含一些數據的Excel工作表,並且試圖將數據複製到三個單元格中並將其粘貼到第四個字體顏色已更改每一個,即:將數據複製到三個Excel單元格中並粘貼到第四個,並更改爲三個字體顏色中的每一個

enter image description here

我能夠複製的內容,但不能夠改變每個單元格的字體顏色。我想使用python模塊win32com。

+0

我不知道Python模塊測試,但是這是如何在VBA改變顏色的細胞的部分作品:http://stackoverflow.com/questions/30567552/change - 字體顏色爲部分文本的單元格/ 30567820#30567820另外,你可以**添加您的代碼在帖子中**(編輯:http://stackoverflow.com/posts/33519409 /編輯),以便**我們可以改進它**而不是從頭開始! – R3uK

回答

0

以下腳本應該可以工作。它需要現有的​​並將單元格A1:C1的內容複製到D1並調整每個單元格的顏色。更新後的數據被寫入到一個名爲Output.xlsx新文件:

import win32com.client as win32 
excel = win32.gencache.EnsureDispatch('Excel.Application') 
wb = excel.Workbooks.Open(r'Book1.xlsx') 
ws = wb.Worksheets("Sheet1") 

cells = ws.Range("A1:C1").Value[0] 
ws.Range("D1").Value = ' '.join(cells) 

offset = 0 
for cell, color in zip(cells, [3, 4, 5]): 
    ws.Range("D1").GetCharacters(offset, len(cell)+1).Font.ColorIndex = color 
    offset += len(cell) + 1 

wb.SaveAs(r'Output.xlsx') 
excel.Application.Quit() 

注意,你可能需要包括完整路徑文件。

使用Python 2.7.6

+0

它很棒,謝謝Martin Evans :) – NMN

相關問題