欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → vba excel 文件saveas不起作用

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4083人关注过本帖树形打印复制链接

主题:vba excel 文件saveas不起作用

帅哥哟,离线,有人找我吗?
tianhm
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:39 积分:0 威望:0 精华:0 注册:2014/2/4 16:01:25
vba excel 文件saveas不起作用  发帖心情 Post By:2016/2/28 22:40:18 [只看该作者]

    MyXL.Save出现保存对话框,但MyXL.SaveAs "d:\test.xls"没有任何作用,d盘里也没有生成test.xls文件
    难道金字塔里vba不能使用SaveAs吗?

 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2016/2/29 9:16:05 [只看该作者]

MyXL.Application.SaveAs "d:\test.xls"
试试加一个Application

 回到顶部
帅哥哟,离线,有人找我吗?
tianhm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:39 积分:0 威望:0 精华:0 注册:2014/2/4 16:01:25
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:39 积分:0 威望:0 精华:0 注册:2014/2/4 16:01:25
  发帖心情 Post By:2016/2/29 11:38:08 [只看该作者]

难道金字塔的客服都搞不定?

 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:39 积分:0 威望:0 精华:0 注册:2014/2/4 16:01:25
  发帖心情 Post By:2016/2/29 12:03:57 [只看该作者]


我把你的程序原封不动拷贝过来,编译出错
编译器错误‘438’
对象不支持此属性或方法‘MyXL.SaveAs ’


 回到顶部
帅哥哟,离线,有人找我吗?
tianhm
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:39 积分:0 威望:0 精华:0 注册:2014/2/4 16:01:25
  发帖心情 Post By:2016/2/29 12:06:05 [只看该作者]

可以了,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
tianhm
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:39 积分:0 威望:0 精华:0 注册:2014/2/4 16:01:25
  发帖心情 Post By:2016/2/29 12:10:28 [只看该作者]

请问新建的excel文件用saveas保存怎么写呢?

     Set MyXL = CreateObject("Excel.Application")
     MyXL.Visible = True
    MyXL.Workbooks.Add


 回到顶部
帅哥哟,离线,有人找我吗?
guotx2010
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1366 积分:5210 威望:0 精华:7 注册:2010/12/11 18:00:33
  发帖心情 Post By:2016/2/29 13:33:56 [只看该作者]

    Set MyXL = CreateObject("Excel.Application")
    MyXL.Visible = True 
    MyXL.Workbooks.Add
    MyXL.ActiveWorkbook.SaveAs "D:\Test2.xls"


 回到顶部
帅哥哟,离线,有人找我吗?
tianhm
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:39 积分:0 威望:0 精华:0 注册:2014/2/4 16:01:25
  发帖心情 Post By:2016/2/29 13:40:47 [只看该作者]

ok,多谢

 回到顶部