国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

這篇具有很好參考價值的文章主要介紹了python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

參考文章:(5條消息) python extension(pywin32) 插入宏到word_hit_liuanhuaming的專欄-CSDN博客

?

功能需求:在C:\Users\user\Desktop\20210408-1\xxx.docx中插入xxx.xlsx文件以圖標顯示,如下圖:

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

?

1.準備:

1)python模塊安裝:

pip install pypiwin32

2)word啟用宏功能:

文件-選項

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

信任中心-信任中心設置

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

勾選信任對VBA工程對象模型的訪問

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

2. python代碼:

目標:將C:\\Users\\user\\Desktop\\tianqing-auto\\vba.bas(vba)代碼自動嵌入xxx.doc文檔中,并執(zhí)行vba代碼

import win32com.client
import pythoncom
import time


def embed_excel_file(filePath,embeddedFilePath,embeddedFileName):

    pythoncom.CoInitialize() # 聲明 doc 之前要加入的代碼
    #創(chuàng)建word應用程序實例

    docApp = win32com.client.Dispatch('Word.Application')
    # run in back-control and no warnings
    doc=docApp.Documents.Open(filePath)
    docApp.Visible = 1    #值為0操作文檔不可見,為1可見
    docApp.DisplayAlerts = 0 #不顯示警告信息


    #導入宏代碼
    #通過文檔實例,獲取VBProject的組件,其中VBComponents中的參數(shù)至關重要,因為ThisDocument表示該文檔,也就是說所有這篇生成文檔的操作在該組件中都可以捕獲#到,那么就可以在里面創(chuàng)建Document_Open函數(shù)來監(jiān)控文檔被打開

    docCode = doc.VBProject.VBComponents("ThisDocument").CodeModule
    macro = ""

    #vba.bas為宏文件,需要導入到ThisDocument,ThisDocument即對應word下,按Alt+F11,調(diào)出vba窗口,該文檔下的Microsoft Word對象下的ThisDocument。
    string=open("C:\\Users\\user\\Desktop\\tianqing-auto\\vba.bas")
    macro=string.read()
    docCode.AddFromString(macro)
    print("embeddedFileName:",embeddedFileName)
    docApp.Application.Run("delandinsDocFile1",embeddedFilePath,embeddedFileName)
    #運行vba.bas中的delandinsDocFile1方法,embeddedFilePath和embeddedFileName為傳遞的參數(shù)

    doc.Save()
    doc.Save()
    time.sleep(3)
    doc.Close()
    docApp.Quit()
    pythoncom.CoUninitialize() # 關閉 doc 之后加入的代碼


filePath=r'C:\Users\user\Desktop\20210408-1\xxx.docx'
dest_dir1=r'C:\Users\user\Desktop\20210408-1\\'
embeddedFileName='xxx.xlsx'
embeddedFilePath=dest_dir1 + embeddedFileName
embed_excel_file(filePath,embeddedFilePath,embeddedFileName)

?

注:? ? Python代碼中的docApp.Application.Run("delandinsDocFile1",embeddedFilePath,embeddedFileName)代表運行vba.bas中的delandinsDocFile1方法,而embeddedFilePath和embeddedFileName為傳遞的兩個參數(shù),相當于調(diào)用vba.bas的Sub delandinsDocFile1(embeddedFilePath as String,embeddedFileName as String)方法

?

3. vba.bas宏代碼如下(可以通過word中錄制宏功能生成大概的vba代碼,然后按自己需求修改(比如我這里函數(shù)中使用了embeddedFilePath和embeddedFileName兩個參數(shù)供python代碼調(diào)用),word錄制宏功能稍后在文章尾部提供

Sub delandinsDocFile1(embeddedFilePath as String,embeddedFileName as String)
'
' delandinsDocFile1 宏
'
'
    Selection.EndKey Unit:=wdStory        
    Selection.MoveUp Unit:=wdLine, Count:=6
    Selection.TypeBackspace
'定位插入位置
'
    Selection.Delete Unit:=wdCharacter, Count:=1
'刪除之前插入的文件,下面插入excel文件
'
    Selection.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", FileName _
        :=embeddedFilePath _
        , LinkToFile:=False, DisplayAsIcon:=True, IconFileName:= _
        "C:\Windows\Installer\{90140000-0011-0000-0000-0000000FF1CE}\xlicons.exe" _
        , IconIndex:=1, IconLabel:=embeddedFileName
    ActiveDocument.Save
End Sub

?

4. word錄制宏功能:

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

?

填入宏名稱,將宏保存在打開的word中,點擊確定按鈕

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

錄制完成后點擊視圖-宏-查看宏-編輯,即出現(xiàn)生成的代碼

python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)

最后將此代碼拷貝出來,改寫成符合自己需求的代碼,命名為xxx.bas

?

問題:為什么要選擇使用VBA操作office?

答:主要原因是沒有找到可以完成此功能的python第三方庫,另外就是vba本身對office支持很強大,且可以一鍵錄制vba代碼,省去看各種API使用文檔文章來源地址http://www.zghlxwxcb.cn/news/detail-404049.html

到了這里,關于python word中插入excel文件以圖標顯示(win32com調(diào)用vba代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • python使用win32com庫實現(xiàn)對Excel的操作

    在日常工作中,我們經(jīng)常需要對Excel文件進行操作,例如讀取和寫入數(shù)據(jù)、格式化和樣式、插入和刪除等。而使用Python的win32com庫,我們可以通過代碼來實現(xiàn)對Excel的自動化操作,提高工作效率和準確性。 本篇博客將介紹如何使用win32com庫來操作Excel,包括安裝和配置、創(chuàng)建和

    2024年02月14日
    瀏覽(18)
  • Python 基于win32com客戶端實現(xiàn)Excel操作

    Python 3.6.2 新建并保存EXCEL 了解更多API,可以查看參考連接 讀取現(xiàn)有EXCEL 說明: 如果不添加以下代碼行: 會報錯,如下: 建議使用 替代 實踐發(fā)現(xiàn),多線程的情況下,使用 Dispatch 會出現(xiàn)報錯,原因似乎是 Dispatch 若發(fā)現(xiàn)進程已經(jīng)存在的話,就不會創(chuàng)建新的進程。若不創(chuàng)建新的

    2024年02月01日
    瀏覽(15)
  • win32com寫入excel日期

    目錄 一、問題 二、解決方法 在使用win32com向excel寫入日期數(shù)據(jù)時候發(fā)現(xiàn)以下問題。 因為貪方便直接寫入datetime格式,導致數(shù)據(jù)錯誤。 ws.Range(\\\'F3\\\').Value=datetime(2023,4,1,0,0) ---2023/3/31 ?16:00:00 很顯然的發(fā)現(xiàn)一個問題,在將數(shù)據(jù)寫入excel后時間被減去了8個小時 ,很自然的聯(lián)想到時區(qū)

    2024年02月11日
    瀏覽(19)
  • 用python實現(xiàn)excel表格插入word

    你可以使用Python中的 python-docx 和 openpyxl 庫來實現(xiàn)將Excel表格插入Word文檔。下面是一個示例代碼,可以將一個名為\\\"example.xlsx\\\"的Excel表格插入到一個名為\\\"example.docx\\\"的Word文檔中: python復制代碼 import openpyxl from docx import Document # 打開Word文檔 doc = Document(\\\"example.docx\\\") # 打開Excel表格

    2024年01月19日
    瀏覽(28)
  • 新建文件沒有word、ppt、excel,office圖標顯示為白色,不能正常顯示

    新建文件沒有word、ppt、excel,office圖標顯示為白色,不能正常顯示

    解決辦法: 1、按“win+R”輸入“regedit”運行,打開系統(tǒng)注冊表; 2、找到HKEY_CLASSES_ROOT下的.doc、.docx、.ppt、.pptx、.xls、.xlsx,刪除。 3、找到HKEY_CLASSES_ROOT下的 Word.Document.8、Word.Document.12、PowerPoint.Show.8、PowerPoint.Show.12、Excel.Sheet.8、Excel.Sheet.12,刪除。 4、找到HKEY_CURRENT_USERSo

    2024年02月16日
    瀏覽(25)
  • Python pywin32實現(xiàn)word和Excel的處理

    Python pywin32實現(xiàn)word和Excel的處理

    pywin32處理Word和Excel的一些事 我們知道Python處理word和Excel的可以借助第三庫python-docx、xlrd、xlwt和openpyxl等實現(xiàn),但這些模塊只支持基本的讀寫操作,如果要實現(xiàn)一些較為深入功能,就要看模塊是否有相應功能支持了。 例如將word和Excel轉為pdf,在word和Excel里面執(zhí)行VBA實現(xiàn)特殊功

    2024年02月04日
    瀏覽(19)
  • 使用Python的win32com庫實現(xiàn)對PowerPoint的操作

    PowerPoint是微軟公司開發(fā)的一款流行的演示文稿軟件,廣泛應用于演講、培訓和商務展示等場景。win32com庫是Python的一個擴展模塊,可以用于操作Windows系統(tǒng)中的COM組件,包括PowerPoint應用程序。本篇博客將介紹如何使用Python的win32com庫來實現(xiàn)對PowerPoint的操作。 在開始之前,我們

    2024年02月05日
    瀏覽(15)
  • Python將Excel文件插入Mysql數(shù)據(jù)庫(腳本)

    ?? 歡迎來到Python辦公自動化專欄—Python處理辦公問題,解放您的雙手 ?????? 博客主頁:一晌小貪歡的博客主頁 ?? 該系列文章專欄:Python辦公自動化專欄 文章作者技術和水平有限,如果文中出現(xiàn)錯誤,希望大家能指正?? ?? 歡迎各位佬關注! ?? 前言 最近接到一個

    2024年02月05日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包