㈠ 關於圖片批量導入word中並在圖片上方附加文件名的VBA代碼編輯
Sub 批量插入圖片()
Dim myfile As FileDialog
Set myfile = Application.FileDialog(msoFileDialogFilePicker)
With myfile
.InitialFileName = "E:\工作文件" 『這里輸入你要插入圖片的目標文件夾
If .Show = -1 Then
For Each Fn In .SelectedItems
Selection.Text = Basename(Fn) '這兩句移到這里
Selection.EndKey
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Set MyPic = Selection.InlineShapes.AddPicture(FileName:=Fn, SaveWithDocument:=True) '按比例調整相片尺寸
WidthNum = MyPic.Width
c = 6 '在此處修改相片寬,單位厘米
MyPic.Width = c * 28.35
MyPic.Height = (c * 28.35 / WidthNum) * MyPic.Height
If Selection.Start = ActiveDocument.Content.End - 1 Then '如游標在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Next Fn
Else
End If
End With
Set myfile = Nothing
End Sub
Function Basename(FullPath) '取得文件名
Dim x, y
Dim tmpstring
tmpstring = FullPath
x = Len(FullPath)
For y = x To 1 Step -1
If Mid(FullPath, y, 1) = "\" Or _
Mid(FullPath, y, 1) = ":" Or _
Mid(FullPath, y, 1) = "/" Then
tmpstring = Mid(FullPath, y + 1)
Exit For
End If
Next
Basename = Left(tmpstring, Len(tmpstring) - 4)
End Function
執行此代碼後,彈出的選擇對話框, 全選目標文件夾下的所有圖片文件之後,點擊確定。然後靜靜的等待電腦完成處理工作,次數word會進入無響應狀態。圖片越多,無響應的時間越長。
1、首先,我們將png圖片保存到電腦桌面上。
㈢ 怎麼編VBA把圖片放到WORD里並附上該圖的名稱(50分)
要從兩個方面考慮:
1、如何把現有文檔中的圖片導出?這個代碼片斷可以參考一下:
Set ImageStream = CreateObject("ADODB.Stream")
With ImageStream
.Type = 1
.Open
.Write ActiveDocument.InlineShapes(1).Range.EnhMetaFileBits
.SaveToFile "d:\Temp\Output.bmp"
.Close
End With
Set ImageStream = Nothing
2、如何把已經到處的圖片導入到新文檔中?這個函數調用可以參考一下:
ActiveDocument.InlineShapes.AddPicture
如果還是不明白的話,請補充提問。
_____
補充:
請問樓主你運行那個代碼片斷得到的*完整*錯誤信息是什麼?報錯的時候,系統一般會把游標移動到出錯的那行代碼上,你看到的是哪一行代碼出錯呢?
我看你貼上來的代碼應該是沒有什麼語法上的錯誤,「Exit For」的確是不應該要的,但那也不是語法錯誤啊。
㈣ 如何將已編輯好的照片依次放入word中,一個照片對應一個word,如何批量進行
一張照片對應一個word文檔,或者一張照片單獨作為一頁,這需要可用宏代碼來實現,不難。以下是一張照片插入word後保存為doc文檔的。啟動Word,然後按Alt+F11打開宏代碼編輯器,然後把如下代碼粘貼到編輯器中,然後修改你的輸入和輸出目錄,然後按F5運行即可。
SubInsertPicAndSaveas()
DimInPathAsString
DimOutPathAsString
DimPosAsLong,FnameAsString,ExtAsString
InPath="C:我的照片集"'你的照片放在哪個文件夾下,自行修改成真實的
OutPath="C:Out"'Word插入一張照片後換名保存在哪個文件夾下,自行修改成真實的
IfDir(InPath,vbDirectory)=""Then
MsgBox"您指定的輸入目錄不存在!需重新指定真實存在的。",vbCritical+vbOKOnly,"消息"
ExitSub
EndIf
IfDir(OutPath,vbDirectory)=""Then
MsgBox"您指定的輸出目錄不存在!需重新指定真實存在的。",vbCritical+vbOKOnly,"消息"
ExitSub
EndIf
Selection.WholeStory
Selection.DeleteUnit:=wdCharacter,Count:=1
Fname=Dir(InPath&"*.*")
DoWhileFname<>""
Pos=InStrRev(Fname,".")
Ext=Mid(Fname,Pos+1)
Fname=Left(Fname,Pos)
IfInStr("jpgjpegbmpgifpngtif",LCase(Ext))Then'不是圖片文件就忽略了
Selection.InlineShapes.AddPictureFileName:=InPath&""&Fname&Ext,LinkToFile:=False,_
SaveWithDocument:=True
ActiveDocument.SaveAsFileName:=OutPath&""&Fname&"doc",FileFormat:=0,LockComments:=False,Password:="",AddToRecentFiles_
:=True,WritePassword:="",ReadOnlyRecommended:=False,EmbedTrueTypeFonts_
:=False,SaveNativePictureFormat:=False,SaveFormsData:=False,_
SaveAsAOCELetter:=False
Selection.WholeStory
Selection.DeleteUnit:=wdCharacter,Count:=1
EndIf
Fname=Dir()
DoEvents
Loop
MsgBox"處理完畢!更多批量處理功能,請參見《文件批量處理百寶箱V10.0》",vbInformation+vbOKOnly,"消息"
ActiveDocument.Saved=True
ActiveDocument.Close
Application.Quit
EndSub
㈤ word文檔中復制圖片到裡面顯示代碼怎麼辦
你這不是插入圖片,而是插入了一個文件對象。如果你想在Word裡面直接插入圖片,就選擇「插入」-「圖片」然後選擇要插入的圖片文件。這樣就能直接在Word裡面顯示圖片內容而不是一個文件對象。或者你用畫筆或其他什麼工具直接打開這個圖片文件,拷貝圖片內容再到Word裡面粘貼。
㈥ Python代碼保存到word
python代碼只是純文本,語法高亮是ide的功能。所以如果你是想導出與ide一樣的樣式,至少你得說你在用什麼ide。