如何通过VBA模块自动格式化Excel文件

时间:2019-07-05 22:43:46

标签: excel vba vbscript

我有一个用Excel在VBA中编写的模块。此模块格式化Excel工作表并将新文件保存在指定的目标位置。到目前为止,我只是将模块导入到VBA项目中,然后从那里运行脚本。

我曾尝试为此使用Powershell,但这并不是我的强项,而且我也遇到了excel的安全性问题。

几个概括的模块:

'Essentially a lot of standard excel formatting, sorting, and fill colors

'Prompts for save location
Dim Fldr As String
With Application.FileDialog(4)
    .AllowMultiSelect = False
    If .Show <> -1 Then Exit Sub
    Fldr = .SelectedItems(1)
End With
ActiveWorkbook.SaveAs Fldr & "\generated_report.xlsx", 51

理想情况下,我想要一个可执行文件或脚本文件,该文件会提示您输入目标excel文件,然后将宏运行到该文件上,然后自动将其保存在目标位置。

最终所有这些都是一个轻量级的脚本文件,该文件可以运行而无需更改excel中的安全设置,并且可以在安装了excel的任何计算机上运行。任何帮助我指出正确使用方法的帮助。

2 个答案:

答案 0 :(得分:0)

研究一种称为自动化的VBA技术。解决问题的一种方法是使用.vbs脚本,该脚本可自动执行每个工作簿文件。您可以从命令行运行.vbs脚本。例如。: https://www.experts-exchange.com/questions/23104413/Format-and-Excel-spreadsheet-using-vbscript.html

答案 1 :(得分:0)

我最终将VBA代码转换为VBS,它将打开未格式化的文件并对其进行操作,然后将其另存为新文档。完美运行