批量代码打开.xlsm并另存为.htm

时间:2014-11-21 17:10:52

标签: excel batch-file

我是批处理代码的新手,需要制作批量代码,打开UL.xlsm并将其保存为“C:\ Users \ White Sign Company \ Dropbox \ UL \”中的UL.htm 。真的很新,所以任何方向都会很棒。

发现它无法使用批处理完成,但我可以在excel中使用vba。使用此代码非常有用。

    Application.DisplayAlerts = Yes
ActiveWorkbook.SaveAs _
    Filename:="C:\Users\White Sign Company\Dropbox\UL\UL\UL.htm", _
    FileFormat:=xlHtml

2 个答案:

答案 0 :(得分:0)

记录excel宏录制器中的步骤。你必须重写一下,因为它使用了一种vbs没有的语法。

这在vba中适用(我没有medium9)xlRangeAutoFormatAccounting4。

Selection.AutoFormat Format:=xlRangeAutoFormatAccounting4, Number:=True, _
    Font:=True, Alignment:=True, Border:=True, Pattern:=True, Width:=True

首先在vba的对象浏览器中查找常量。 xlRangeAutoFormatAccounting4 = 17

然后在对象浏览器中查看该函数,并查看函数定义的底部。

Function AutoFormat([Format As XlRangeAutoFormat = xlRangeAutoFormatClassic1], [Number], [Font], [Alignment], [Border], [Pattern], [Width])

所以vba变成vbs(和vbs在vba中工作)(正如你所看到的,你可以通过正确的方式计算出来,而不需要通常查看函数)

Selection.AutoFormat 17,True,True,True,True,True,True

所以你的代码变成了

objXLWs.Range("A3").CurrentRegion.Select.AutoFormat 17, True, True, True,True, True, True

您正在使用Excel,您可以将其记录在Excel中并让Excel编写您的代码。

Alt + T,M,R

然后是Home键,然后是Up Arrow。停止录音。

看看Excel写的是什么

Selection.End(xlUp).Select

或者您是否有录制的“转到”对话框

Application.Goto Reference:="R1C1"

或者您已录制了Ctrl + Home

Range("A1").Select

答案 1 :(得分:0)

我编写了一个实用程序,允许您将XLS文件转换为任何其他允许的格式(需要安装excel)。原来是Word,但现在有一个XLS版本。仍处于测试阶段,但可能会做到这一点。

https://github.com/tobya/DocTo/releases