以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- vba excel 文件saveas不起作用 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=93059) |
-- 作者:tianhm -- 发布时间:2016/2/28 22:40:18 -- vba excel 文件saveas不起作用 MyXL.Save出现保存对话框,但MyXL.SaveAs "d:\\test.xls"没有任何作用,d盘里也没有生成test.xls文件 难道金字塔里vba不能使用SaveAs吗?
|
-- 作者:guotx2010 -- 发布时间:2016/2/29 9:16:05 -- MyXL.Application.SaveAs "d:\\test.xls" 试试加一个Application
|
-- 作者:tianhm -- 发布时间:2016/2/29 10:16:54 -- 加了,也不行 Sub CloseExcel() On Error Resume Next MyXL.DisplayAlerts = False \'MyXL.Save \'MyXL.SaveAs "d:\\test.xls" MyXL.Application.SaveAs "d:\\test.xls" \'MyXL.ActiveBook.SaveAs "d:\\test.xls" MyXL.Quit Set MyXL = Nothing \'释放对该应用程序 End Sub 只有save可以
|
-- 作者:tianhm -- 发布时间:2016/2/29 11:38:08 -- 难道金字塔的客服都搞不定?
|
-- 作者:guotx2010 -- 发布时间:2016/2/29 11:48:43 -- \'打开某个excel文件 Sub GetExcelFile(sFileName) \'此过程暂停使用,替代过程为:GetExcel Dim sWinName \'窗口名 Dim iPos \'测试 Microsoft Excel 的副本是否在运行。 On Error Resume Next \'延迟错误捕获。 \'不带第一个参数调用 Getobject 函数将 \'返回对该应用程序的实例的引用。 \'如果该应用程序不在运行,则会产生错误。 Set MyXL = GetObject(, "Excel.Application") If Err.Number <> 0 Then
Set MyXL = CreateObject("Excel.Application")
End if \'将对象变量设为对要看的文件的引用。 Set MyXL = GetObject(sFileName) iPos = InStrRev(sFileName, "\\", -1, vbTextCompare) sWinName = Mid(sFileName, iPos + 1, Len(sFileName) - iPos - 4) \'设置其 Application 属性,显示 Microsoft Excel。 \'然后使用 MyXL 对象引用的 Windows 集合 \'显示包含该文件的实际窗口。 MyXL.Application.Visible = True MyXL.Application.ScreenUpdating = True MyXL.Parent.Windows(1).Activate MyXl.Application.Sheets(1).Visible=true End Sub \'关闭Excel Sub CloseExcel() On Error Resume Next MyXL.Application.DisplayAlerts = False \'MyXL.Application.Save MyXL.Application.Quit \' Set MyXL = Nothing \'释放对该应用程序 End Sub Sub SaveAs()
GetExcelFile "D:\\test.xls"
\'MyXL.Application.DisplayAlerts = False MyXL.SaveAs "D:\\Test1.xls" \'MyXL.Application.Quit \' Set MyXL = Nothing \'释放对该应用程序 End Sub Sub APPLICATION_VBAStart()
SaveAs End Sub
|
-- 作者:tianhm -- 发布时间:2016/2/29 12:03:57 -- 我把你的程序原封不动拷贝过来,编译出错 编译器错误‘438’ 对象不支持此属性或方法‘MyXL.SaveAs ’ |
-- 作者:tianhm -- 发布时间:2016/2/29 12:06:05 -- 可以了,谢谢 |
-- 作者:tianhm -- 发布时间:2016/2/29 12:10:28 -- 请问新建的excel文件用saveas保存怎么写呢? Set MyXL = CreateObject("Excel.Application") MyXL.Visible = True MyXL.Workbooks.Add |
-- 作者:guotx2010 -- 发布时间:2016/2/29 13:33:56 -- Set MyXL = CreateObject("Excel.Application") MyXL.Visible = True MyXL.Workbooks.Add MyXL.ActiveWorkbook.SaveAs "D:\\Test2.xls" |
-- 作者:tianhm -- 发布时间:2016/2/29 13:40:47 -- ok,多谢 |