首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.Xlsm to .Pdf Macro破坏.pdf

.Xlsm to .Pdf Macro破坏.pdf
EN

Stack Overflow用户
提问于 2016-04-26 15:23:02
回答 1查看 719关注 0票数 1

我已经修改了下面的宏,以便从文件夹A中获取文件,并将它们放在以.pdf作为文件扩展名的文件夹B中:

代码语言:javascript
复制
Sub Xlsm_to_Pdf()

 Dim Xlsmfolder As String
 Dim PdfFolder As String
 Dim fname As String
 Dim wBook As Workbook

 Application.DisplayAlerts = False

 Xlsmfolder = "\\Desktop\Macro Testing\TestFolderA\"
 PdfFolder = "\\Desktop\Macro Testing\TestFolderB\"

 fname = Dir(Xlsmfolder & "*.xlsm")

 Do While fname <> ""
    Set wBook = Workbooks.Open(Xlsmfolder & fname, Format:=6, Delimiter:=",")
    wBook.SaveAs PdfFolder & Replace(fname, ".xlsm", ".pdf"), ThisWorkbook.FileFormat
    wBook.Close False
 fname = Dir
 Loop

 Application.DisplayAlerts = True

End Sub

宏按预期执行,文件从文件夹A移动到具有.pdf扩展名的文件夹B。我的问题是文件被损坏了。文件是如何损坏的?宏是如何驱动这个问题的?

EN

回答 1

Stack Overflow用户

发布于 2016-04-26 18:14:07

一些事情..。首先,仅仅更改文件扩展名并不能神奇地将Excel文件转换为PDF文件。但是,作为示例,代码甚至包括对Workbook.SaveAs方法接受文件格式参数这一事实的引用。在线搜索可以快速地引导您找到微软在这个url上提供的有关MSDN的文档。这里详细介绍了可以用于此方法的所有参数。FileFormat参数看起来与您想要研究的完全相同。因此,如果单击文章中的链接(该链接将带您访问MSDN上的相应的xlFileFormat文档),您将看到没有使用该方法以PDF格式保存文件的定义选项。

但是,如果可以在Excel中完成,并通过VBA实现自动化,那么如果您没有在网上或MSDN中进行任何运气搜索,就可以使用一个技巧来查找正确的信息。只需在Excel中记录一个宏,执行您需要帮助的一个步骤,然后停止记录,查看生成的Excel代码并放入宏中。使用这种技术,您应该很快意识到,您正在搜索的方法称为Workbook.ExportAsFixedFormat,并在这个url的MSDN上进行了记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36869240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档