㈠ 关于图片批量导入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。