簡體   English   中英

Word VBA:另存為圖片

[英]Word VBA: Save as Picture

有誰知道是否可以從 VBA 運行 Word“另存為圖片”對話框?
注意:我搜索了高低都無濟於事,這表明這可能是不可能的。
盡管如此,認為至少值得一問。

結果發現解決方案就在那里,只是很難找到。 雖然控件不在功能區上,但它仍然存在於 CommandBar 中。 我設法通過轉儲所有 CommandBar 控件的列表(以找到它並獲取 id)來公開它。 所以,解決辦法是:

''' Note: Picture must be selected first
CommandBars.FindControl(ID:=5736).Execute

您可以使用 PowerPoint 導出圖形。 這是最近一個導出世界地圖的項目的宏。 Word 圖形是 EMF 文件:

Public Sub ExportMap()
Dim pptPres As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim pptShapeRange As PowerPoint.ShapeRange
Dim Path$, File$
Dim oRange As Range

  Application.ScreenUpdating = False
  myDate$ = Format(Date, "m-d-yyyy")
  Set pptApp = CreateObject("PowerPoint.Application")
  Path$ = ActiveDocument.Path & Application.PathSeparator
  File$ = "WorldMap " & myDate$ & ".png"
  Set pptPres = pptApp.Presentations.Add(msoFalse)
  
  Set oRange = ActiveDocument.Bookmarks("WholeMap").Range
  oRange.CopyAsPicture
  
  Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
  On Error Resume Next
  With pptPres.PageSetup
    .SlideSize = 7
    .SlideWidth = 1150
    .SlideHeight = 590
  End With
  Set pptShapeRange = pptSlide.Shapes.PasteSpecial(ppPasteEnhancedMetafile, Link:=msoFalse)
  
  pptSlide.Export Path$ & File$, "PNG"
  
  pptApp.Quit
  
  Set pptPres = Nothing
  Set pptApp = Nothing
  Set pptSlide = Nothing
  Application.ScreenUpdating = True
  MsgBox "All done! Check the folder containing this template for a file called '" & File$ & "'."
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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