用户登录
用户注册

分享至

vba程序word保存文件夹

  • 作者: 晨稳1
  • 来源: 51数据库
  • 2020-06-05

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保存文件夹

软件
前端设计
程序设计
Java相关