Foxtable(狐表)用户栏目专家坐堂 → 能否不打开excel表格而操作excel表格


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

主题:能否不打开excel表格而操作excel表格

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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
能否不打开excel表格而操作excel表格  发帖心情 Post By:2016/11/27 13:58:00 [只看该作者]

Dim App As New MSExcel.Application
Dim temp As String
temp = "e:\项目设计\操作表\表格数据提取表.xlsm"
Dim Wb As MSExcel.Workbook
wb = getobject(temp)
Wb.WorkSheets(2).Range("D1") = e.Form.Controls("TextBox1").value
Wb.SaveAs("e:\项目设计\操作表\表格数据提取表.xlsm")
App.Quit

我编写这个代码是为了在不打开excel情况下,向sheet2工作表写入值,但是没有成功,还是将文件打开了。请教如何做到呢?


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/27 14:17:00 [只看该作者]

你getobject是怎么做的?

 

直接用MSExcel打开excel,不显示出来不就行了?

 

肯定是需要打开一下excel才能修改里面的内容的。


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2016/11/27 15:53:00 [只看该作者]

vba中的GetObject()函数,下面的代码在wps中调试通过,不用打开文件就可赋值取值

Private Sub CommandButton3_Click()
    Dim Wb As Workbook
    Set Wb = GetObject("E:\项目设计\操作表\联系2.xls")
    Wb.Sheets(1).Range("A2") = Workbooks(1).Sheets(1).Range("AD1").Value
    Dim str As String
    str = Wb.Sheets(1).Range("A2").Value
    MsgBox (str)
    Wb.Save
    Wb.Close False
    Set Wb = Nothing

End Sub


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2016/11/27 15:54:00 [只看该作者]

只是把文件属性变成隐藏了,不知道是哪里的问题,在wps中打不开,在excel中看不到取消隐藏后关闭保存才可在wps中打开,能否指点下

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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2016/11/27 16:09:00 [只看该作者]

这个功能能加到foxtable里面吗?

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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2016/11/27 16:58:00 [只看该作者]

一下修改后代码,既取消隐藏,又取消只读,正常了

Private Sub CommandButton1_Click()

 
  Dim Wb As Workbooks
  fileToOpen = Application.GetOpenFilename("Excel Files (*.xls),*.xls")
  If fileToOpen <> False Then
    Workbooks.Open Filename:=fileToOpen, AddToMru:=True
    MsgBox (Workbooks(2).Name)
   
    Windows(Workbooks(2).Name).Visible = True '取消隐藏,因文件已打开因此使用windows()函数
    
    If Workbooks(2).ReadOnlyRecommended = True Then
       Workbooks(2).ReadOnlyRecommended = False '取消只读
    End If

  Else
  End If


End Sub


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/27 20:08:00 [只看该作者]

vba没你说de那么麻烦吧?只要visible不设置成true,都不会显示的。参考

 

http://www.foxtable.com/webhelp/scr/2121.htm

 


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2016/12/2 22:42:00 [只看该作者]

谢谢图片点击可在新窗口打开查看

 回到顶部