1. 如何用word vba,根据特定字符保存文件
Sub test()
Dim Doc As Document
On Error Resume Next
For i = 1 To ThisDocument.Paragraphs.Count
txt = ThisDocument.Paragraphs(i).Range.Text
z = Split(Split(txt, "【")(1), "】")(0)
If Err.Number = 0 Then rng = rng & i & " " Else Err.Clear
Next
z = Split(rng, " ")
z(UBound(z)) = ThisDocument.Paragraphs.Count + 1
On Error GoTo 0
For j = 0 To UBound(z) - 1
Set Doc = Documents.Add
Set rngParagraphs = ThisDocument.Range(Start:=ThisDocument.Paragraphs(z(j)).Range.Start, _
End:=ThisDocument.Paragraphs(z(j + 1) - 1).Range.End)
rngParagraphs.Select
Selection.Copy
Doc.Range.Paste
Doc.SaveAs "D:\" & Replace(ThisDocument.Paragraphs(z(j)).Range.Text, Chr(13), "") & ".Doc"
Doc.Close True
Next
End Sub
2. VBA如何指定另存为文件的文件名
比如 A1=001 那么文件名就是 001.xlsSub 另存()ActiveWorkbook.SaveCopyAs "D:/" & [a1] & ".xls"End Sub显示标准的“另存为”对话框,获取用户文件名,而无须真正保存任何文件。
expression.GetSaveAsFilename(InitialFilename, FileFilter, FilterIndex, Title, ButtonText)
expression 必需。该表达式返回一个 Application 对象。
InitialFilename Variant 类型,可选。指定建议的文件名。如果省略本参数,Microsoft Excel 将活动工作簿的名称作为建议的文件名。
FileFilter Variant 类型,可选。一个指定文件筛选条件的字符串。
本字符串由一个文件筛选字符串与 MS-DOS 通配符表达的文件筛选规则说明组成,中间以逗号分隔。每个字符串都在“文件类型”下拉列表框中列出。例如,下列字符串指定两个文件筛选串,文本文件和加载宏:“文本文件 (*.txt)、*.txt、Add-In 文件、(*.xla)、*.xla”。
要为单个文件筛选类型使用多个 MS-DOS 通配符表达式,需用分号将通配符表达式分开。例如:“Visual Basic 文件 (*.bas; *.txt)、*.bas; *.txt”。
如果省略本参数,则默认参数值为“所有文件 (*.*),*.*”。
FilterIndex Variant 类型,可选。指定默认文件筛选条件的索引号,取值范围为 1 到 FileFilter 指定的筛选条件数目之间。如果省略本参数,或者取值大于可用筛选数目,则采用第一个文件筛选条件。
Title Variant 类型,可选。指定对话框标题。如果省略本参数,则使用默认标题。
ButtonText Variant 类型,可选。仅用于 Macintosh。
说明本方法返回选定的文件名或用户输入的名称。返回的文件名可能包含路径说明。如果用户取消了对话框,则该值为 False。
本方法可能更改当前驱动器或文件夹。
示例本示例显示文本文件的“另存为”对话框。如果用户选择了一个文件名,则在消息框中显示所选的文件名。
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="Text Files (*.txt), *.txt")
3. 用VBA让excel和word自动另存为
excel vba代码:
Sub 工作簿备份()
Dim s, f As String, sht As Worksheet
f = [a3]
If f = "" Then Exit Sub
Application.ScreenUpdating = False
Workbooks.Add (xlWBATWorksheet)
Sheets(1).Name = "临时"
For Each sht In ThisWorkbook.Sheets
With ActiveWorkbook
sht.Copy after:=.Sheets(.Sheets.Count)
End With
Next
Application.DisplayAlerts = False
Sheets("临时").Delete
Sheets(1).Activate
Application.DisplayAlerts = True
Application.ScreenUpdating = True
s = Application.Dialogs(5).Show(arg1:=f & ".xls")
If s = True Then
ActiveWorkbook.Close
MsgBox "备份完毕"
Else
MsgBox "没有备份"
End If
End Sub
4. 在word中想用vba实现依次新建文档并插入指定文件夹中的图片并命名
以word2007为例,方法如下:
1、点击图片,另存为“筛选过的网页”。
2、打开存放的文件夹,就多了一个网页文件夹。
3、打开网页文件夹,看看刚才存放的图片,其格式就是jpg。
5. 如何在EXECL中用VBa打开Word,并输出数据到WORD中,保存,关闭
在EXcel的VB编辑器中插入一个模块,输入如下代码试试看。
Sub ExcelToWord()
Dim WordObject As Object '声明一个对象变量,这里即将声明为Word对象
On Error Resume Next
Set WordObject = CreateObject("Word.Application") '用set来创建Word对象,这里是运行Word程序,但未新建文档
WordObject.Visible = 0 '后台运行Word对象,只在任务管理器中存在WinWord.exe进程,但在任务栏上看不到word;如果为1或者True则可以看到word运行界面
WordObject.Documents.Add DocumentType:=wdNewBlankDocument '新建一word文档
'以下为获取Excel表格中的内容,准备把数据传送给Word,可以根据自己的实际需要定制代码,这里只是示例代码
Excel.Application.Sheets(1).Activate '切换当前电子表格的表1为当前激活表
Excel.Application.Sheets(1).UsedRange.Select '选中当前激活表的所有数据
Selection.Copy '将选中的区域进行复制
WordObject.Application.Activate '将后台运行的Word激活为当前窗口
WordObject.ActiveWindow.Selection.Paste '将刚才从Excel中复制进剪贴板中的内容粘贴进word中来
WordObject.Saved = True '将保存文档的Saved属性设置为True,这样后台运行的Word在保存文档时就不会弹出是否保存的对话框了,达到悄无声息的效果
WordObject.ActiveDocument.SaveAs "D:\temp\导出数据.doc" '调用saveas命令保存文档,根据实际,指定文档的保存路径和名称
WordObject.Application.Quit '退出并关闭程序文档
Set WordObject = Nothing '释放对象
End Sub
转载请注明出处51数据库 » vba程序word保存文件夹