打开多个EXCEL报表

打开一个报表传输数据我已经编写实验完毕,如果打开了两个或者两个以上的报表怎么办呢?打开EXCEL报表为人工的,怎么将不同变量传输到指定的报表中呢?请教!!!
我的程序如下:
On Error Resume Next 
 Dim objExcelAPP,xlbook,xlsname,isOpen
 xlsname="D:\shengchanjilu\R2012\R2012-baobiao.xls"                    
   Set objExcelAPP=GetObject(,"Excel.Application")    objExcelAPP.Visible=True
 
 If Typename(objExcelAPP)="Application" Then     
    For Each xlbook In objExcelAPP.Workbooks
        If xlbook.FullName=xlsname Then
           isOpen=True
           Exit for
        End if
    Next
 End If
 
If isOpen=1 Then

objExcelAPP.Cells(14,8).Value = Time

Else
End If

最佳答案

实际上每个打开的Excel都是一个单独的进程,会有一个专属的对象名字。
 可以通过你的变量 xlsname="D:\shengchanjilu\R2012\R2012-baobiao.xls"指定不同的名字的表进行读写。
你的程序已经有判断表格是否打开的代码,可以用if或select case 进行判断,指定向不同的表写不同的变量。

下面的是一段两个打开的excel交互的简单实验,可以参考一下。
这里用了两个Excel.Application对象,比较简单直观的办法,如果你不能确定是几个表进行交互,可以用一个对象,用分支赋值之后再做。

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)                         

Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = 1
objExcelApp.Workbooks.Open "D:\1.xls"

Dim objExcelApp1
Set objExcelApp1 = CreateObject("Excel.Application")
objExcelApp1.Visible = 1
objExcelApp1.Workbooks.Open "D:\2.xls"

MsgBox "两个进程都准备好!"
Dim rowNum
Dim rangeNum
rowNum = 9
rangeNum = 9
MsgBox "两个进程都准备好!"

Dim i
Dim j
For i = 1 To rowNum 
     For j = 1 To rangeNum
  objExcelApp1.Cells(i,j).Value = objExcelApp.Cells(i,j).Value
     Next
Next

    
MsgBox "读写完了!"
objExcelApp.Workbooks(1).Save ''保存工作表
objExcelApp.Workbooks(1).Close ''关闭工作表
objExcelApp.Quit  '' 退出

objExcelApp1.Workbooks(1).Save ''保存工作表
objExcelApp1.Workbooks(1).Close ''关闭工作表
objExcelApp1.Quit  '' 退出
End Sub

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:17
下一篇 2019年6月11日 上午2:17

相关推荐

  • 报警器信号分配 ,试图执行的操作不被支持

    前两天因为取消了WINCC工程文件共享,造成打开wincc项目时提醒用户没有执行该操作的权限,再重复共享后,工程可以打开了,但是,报警器信号分配却无法打开 ,提示,试图执…

    SIMATIC WinCC 2021年7月5日
  • wincc与plc通道连接不稳定

    画面刷新时,通道连接显示一会连接上,一会连接不上,不知道什么原因.用这个连接时,是往DP块里写东西,但不知道能不能直接往里写?读是可以读上来地,但就是不刷新,当CPU外部输入改变时…

    SIMATIC WinCC 2019年6月11日
  • flexible08安装问题

    *作系统XP专业英文正版,语言设置包括高级设置都在英语(美国),安装Flexibel2008高级版时,前部分都安装成功,到安装RUNTIME时,出现ERROR1324,路径出现非法…

    SIMATIC WinCC 2019年6月11日
  • WinCC OA的相关资料

    想要学习一下WinCC OA,有没有手册或软件的相关资料 最佳答案 下面的西门子 SCADA 系统宣传册有WinCC OA的介绍:https…

    2021年7月5日
  • MP277操作手册 怎么下

    MP277操作手册 怎么下,谁有MP277操作手册 给我发一份,谢谢 最佳答案 见《MP277下载手册》下载:http://www2.ad.siemens.co…

    SIMATIC WinCC 2019年6月11日
  • wincc 图形编辑器标准对象丢失

    wincc6.2 图形编辑器标准对象丢失,以前是有的,后来标准对象里面只剩一个静态文本和连接器。其他的都消失了。pdl的错误怎么恢复?如图所示。PDL出错记事本内容如下:…

    2019年6月10日
  • 关于报警查询的问题

    各位师傅你们好,我现在想做报警查询,wincc中的数据库会把查到的数据保留多长时间啊,我过了几天查几天前的数据怎么就查不到啊,这应该怎样设置啊,谢谢谢谢 最佳答案 收一下邮箱hua…

    SIMATIC WinCC 2019年6月11日
  • wincc运行项目发生0x80046127错误

    wincc运行项目发生0x80046127错误 每次重新启动都能正常运行项目 但是已重新启动再运行相同目录下的项目就出现0x80046127错误 当改…

    SIMATIC WinCC 2019年6月11日
  • Wincc 7.2 C脚本问题

    以前的项目从Wincc 6.2 移植到Wincc7.2  时  C脚本编译错误,该动作没有包含解释代码 ,具体…

    2017年11月12日
  • STEP7兼容性问题

    我装的STEP7 V5.4 SP3中文版,它和WINCC6.2 SP3的兼容性怎么样?我在网站上下的WINCC兼容性手册里没有WINCC6.2&nbs…

    SIMATIC WinCC 2019年6月11日