Office中国论坛/Access中国论坛

标题: 这个对话框能否不显示 [打印本页]

作者: 123shusheng    时间: 2013-3-20 14:33
标题: 这个对话框能否不显示
[attach]51483[/attach]

我用EXCL导入网页上的表,设置为打开时自动更新,但是每次打开EXCL表时,都会出现一个对话框,询问是否自动更新,请问能否不显示,直接启用自动更新。还有能否在不打开excl表的情况下,让保持excl表与网页数据保持同步更新。谢谢!
作者: 叶海峰    时间: 2013-3-20 17:26
在工作簿的thisworkbook中的open事件加入了代码,不弹出对话框并自动刷新.
[attach]51487[/attach]  




作者: 123shusheng    时间: 2013-3-21 12:46
本帖最后由 123shusheng 于 2013-3-21 13:08 编辑
叶海峰 发表于 2013-3-20 17:26
在工作簿的thisworkbook中的open事件加入了代码,不弹出对话框并自动刷新.


[attach]51490[/attach]

    您的答复的确解决了我的问题,但是我需要取若干个不同网页上的表,我把它们整合到一个EXCL工作簿,当我设为打开时更新时,会出现对话框,但它们全部都可以更新,而使用您的办法,只有其中的一个表会自动更新,请问还有更好的办法吗?谢谢!
    还有我在坛子里搜到如下语句,打开外部的EXCL表,call shell ("excel.EXE " & 路徑 & 文件名.value,1)
我编辑了如下语句,提示语法错误。
call shell ("excel.EXE " & CurrentProject.Path & 12.xls.value,1)
请问正确的语句是什么?谢谢!
作者: 叶海峰    时间: 2013-3-21 13:11
range范围你可以指定,querytable如果有3个,那么就在不同的range执行refresh方法.
打开外部的excel表,你是在什么地方来打开呢?是在一个excel文件打开另外一个excel还是?
作者: 123shusheng    时间: 2013-3-21 13:15
叶海峰 发表于 2013-3-21 13:11
range范围你可以指定,querytable如果有3个,那么就在不同的range执行refresh方法.
打开外部的excel表,你是在 ...

我在窗体里设一个按钮,点击按钮,打开外部的EXCL表,文件名12.xls,与数据库在相同的目录下
作者: 叶海峰    时间: 2013-3-21 16:58
你是要把网页通过excel的querytable拉下来,然后复制到access里面?
如果是的话,其实不需要通过querytable的,用webbrowser控件就可以了,论坛上有例子.
作者: 123shusheng    时间: 2013-3-21 18:43
叶海峰 发表于 2013-3-21 16:58
你是要把网页通过excel的querytable拉下来,然后复制到access里面?
如果是的话,其实不需要通过querytable的 ...

我的情况是这样:
   我需要在若干个网页上下载表,但我不需要表上的全部数据,所以我的思路是:用EXCL表分别下载下来,然后建立一个汇总表,将需要的数据按我的要求排成一行,这就形成一天的数据。然后ACCESS建立一个追加查询,每天指定时间自动运行一次,将这一行导入数据库。每天如此,自动下载,自动追加进数据库。
  我试过用webbrowser控件,论坛的例子太少,没有葫芦,我就没法画瓢了,所以想了这个笨办法。
作者: 叶海峰    时间: 2013-3-22 11:18
Dim xlApp
Set xlApp = CreateObject("Excel.Application")
xlapp.visible=false
xlApp.Workbooks.Open(currentproject.path & "\12.xls")
xlapp.sheets("sheet1").range("A1").querytable.refresh
xlapp.sheets("sheet2").range("A1").querytable.refresh
xlapp.sheets("sheet3").range("A1").querytable.refresh
xlApp.save
xlApp.Quit


作者: 123shusheng    时间: 2013-3-22 20:28
叶海峰 发表于 2013-3-22 11:18
Dim xlApp
Set xlApp = CreateObject("Excel.Application")
xlapp.visible=false

我想了一个变通办法解决了。
   首先,我下载了一个任务计划软件(XP自带的不好用),它可以模拟按键。我将EXCL设为打开时更新,可以用这个软件设定为指定时间打开EXCL表,模拟按键ALT+E启动自动更新(也就是关掉这个对话框),然后利用单元格引用,将需要的数据按我的要求在汇总表排成一列。
   然后设定ACCESS数据库打开时间,运行追加查询,就将当天的内容追加到数据库了,从而实现自动采集数据,自动追加的目的。
   再次谢谢,叶海峰大侠的指点。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3