欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
【干貨】Excel操作Word導出圖片

這篇文章講一個(gè)Word批量導出圖片的案例,下節課會(huì )講圖片導入Word的案例。

一、實(shí)際案例引入

這次遇到的案例需求:將檔案信息表中的個(gè)人圖片導出,以身份證號命名。具體表格結構如下的對應關(guān)系如下圖截圖中所示。

有n個(gè)格式一樣的基礎信息表,我們要做的就是把圖片導出,以身份證號來(lái)命名。

關(guān)于本篇所有配圖(均來(lái)自于網(wǎng)絡(luò ),侵刪)

二、思路及代碼
Q:

Word中圖形對象有哪些?

A:

在word中的圖形對象有InlineShape對Shape對象。其中InlineShape對象的是嵌入到文本層的圖片,是指將圖像作為文字處理,在排版上以文字的方式進(jìn)行排版。而Shape對象是懸浮于文本之上位于圖形層,可以自由浮動(dòng),并且可以放置在頁(yè)面上的任何位置。

導出的時(shí)候也需要根據具體情況,來(lái)具體選擇循環(huán)的圖形對象。當然,你可以對這兩種對象分別循環(huán)導出。

關(guān)于Word VBA導出圖片有好幾種方法,這里我比較推薦下面兩種:

■另存為html方法(導出后無(wú)損,推薦)

手動(dòng)操作步驟:

核心代碼如下:

Sub doc另存為HTML()
    Dim WordDOC As Object
    Dim Path, Name As String
    Set WordDOC = Documents.Open("C:\Brildo\Test.docx")
    Path = WordDOC.Path
    Name = WordDOC.Name
    ActiveDocument.SaveAs2 FileName:=Path & "\" & Split(Name, ".")(0), FileFormat:=wdFormatHTML
    ActiveDocument.Close (0)
End Sub

多個(gè)Word文檔批量導出圖片操作的話(huà),對于一些特定要求(比如對圖片名有要求),就稍微麻煩些,這就需要打開(kāi)html文件夾并修改文件名,然后再把圖片復制出來(lái)。

■復制到Excel后再導出圖片(本文采用的方法)

大致思路就是,Word文檔中的圖片復制到Excel中,然后Excel再利圖表導出圖片的功能導出。關(guān)于Excel如何批量導出圖片,看我之前的文章代碼合集,各取所需【操作圖片】

完整代碼:

Sub 導出Word圖片()
    Dim PathSht As String, wb As Workbook
    Application.ScreenUpdating = False
    For Each shp In ActiveSheet.Shapes '清除本表中的圖片
        shp.Delete
    Next
    With Application.FileDialog(msoFileDialogFolderPicker) 'FileDialog對象,選擇文件夾對話(huà)框
        If .Show Then PathSht = .SelectedItems(1Else Exit Sub
    End With
    PathSht = PathSht & IIf(Right(PathSht, 1) = "\""""\")
    myfile = PathSht & "保存圖片"
    fol = Dir(myfile, vbDirectory)
    If fol = "" Then MkDir myfile '新建存儲圖片的路徑
    myname = Dir(PathSht & "*.doc*")
        Call wd_pic(PathSht)
    MsgBox "完成!"
    Application.ScreenUpdating = True
End Sub

Sub wd_pic(p As String)
    Set wordapp = CreateObject("word.application")
    Set sht = ThisWorkbook.ActiveSheet
    f = Dir(p & "*.doc*"'結合Do While循環(huán)獲取Word文檔
    Do While f <> ""
        Set WordDOC = wordapp.Documents.Open(p & f)     '逐個(gè)打開(kāi)Word文件
        wordapp.Visible = True
        shenfen_num = l(WordDOC.Tables(1).cell(72).Range) '獲取身份證號
        For i = 1 To WordDOC.Shapes.Count '對文檔中的圖片進(jìn)行遍歷
            WordDOC.Shapes(i).Select '選中圖片
            wordapp.Selection.Copy '復制圖片。這里不能合并為一句,否則報錯
            sht.PasteSpecial Format:="圖片(增強型圖元文件)", Link:=False, DisplayAsIcon:=False
            Set Excel_Shape = sht.Shapes(1'因為當單個(gè)doc中存在圖片量過(guò)多,均復制到xls中造成數據量過(guò)大,
            Excel_Shape.ScaleHeight 1True, msoScaleFromMiddle
            Excel_Shape.ScaleWidth 1True, msoScaleFromMiddle
            '這里采用了復制一個(gè)進(jìn)入xls,再另存圖片后,立即刪除xls中的圖片數據,所以遍歷時(shí),index永遠是1
            Excel_Shape.Copy
            With sht.ChartObjects.Add(00, Excel_Shape.Width, Excel_Shape.Height).Chart
                .Parent.Select '64位必須加這句,否則導出后是空白圖片
                .Paste
                .Export p & "保存圖片\" & shenfen_num & ".bmp"
                .Parent.Delete '刪除第二次復制產(chǎn)生的數據
            End With
            Excel_Shape.Delete '刪除第一次復制產(chǎn)生的數據
        Next i
        WordDOC.Close '關(guān)閉當前Word文檔
        f = Dir
    Loop
    wordapp.Quit '退出Word程序
End Sub
Function l(a) '清除Word表格中的不可見(jiàn)符號
    l = WorksheetFunction.Clean(a)
End Function

三、知識點(diǎn)

■選擇文件夾對話(huà)框

如果文件夾位置不確定,想獲取人為選擇的文件夾路徑,就要用到以下代碼塊。

    With Application.FileDialog(msoFileDialogFolderPicker) 'FileDialog對象,選擇文件夾對話(huà)框
        If .Show Then PathSht = .SelectedItems(1Else Exit Sub
    End With
    PathSht = PathSht & IIf(Right(PathSht, 1) = "\""""\")

關(guān)于FileDialog對象更多功能,可以閱讀這篇文章:獲取文件全路徑(二)FileDialog對象

■循環(huán)打開(kāi)Word文檔

這里是打開(kāi)代碼文檔路徑下的文檔,如果需要打開(kāi)其他路徑的文檔,結合上面的代碼。

Sub 循環(huán)打開(kāi)Word文檔框架()
    Set doc = CreateObject("word.application")
    f = Dir(ThisWorkbook.Path & "\*.doc")
    Do While f <> ""
        Set wd = doc.Documents.Open(ThisWorkbook.Path & "\" & f)
        doc.Visible = True
               '你要操作的核心代碼
        f = Dir
        wd.Close False
    Loop
    doc.Quit
    MsgBox "完成!"
End Sub

■新建文件夾

該段代碼作用:判斷D盤(pán)是否有例子文件夾,如果沒(méi)有,則新建一個(gè)名為“例子”的文件夾。

Sub 新建文件夾()
    myfile = "d:/例子"
    f = Dir(myfile, vbDirectory)'利用Dir函數,先獲取文件夾
    If f = "" Then MkDir myfile'找不到該文件夾,會(huì )返回空值。
End Su

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
VBA批量創(chuàng )建文件目錄及鏈接,建議收藏備用
EXCEL批量導出圖片
excel圖片導出的方法
如何批量導出Excel表格中的圖片,保存到Word文件中?
VBA常用小代碼401:按名稱(chēng)一鍵將圖片批量插入到單元格批注中
學(xué)習VBA,報表做到飛 第六章 Shapes對象 6.6 FSO對象
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久