打开多个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的OPC通信

    两台计算机一台在设备现场通过pc access读取s7-200运行正常,如果远程计算机通过Internet访问现场计算机应如何实现?有资料没有发我邮箱一份?谢谢 问题补充…

    SIMATIC WinCC 2019年6月11日
  • 图形编辑器插入用户归档控件后停止工作

    图形编辑器插入用户归档控件连接数据后停止工作,具有见附图,求大侠分析原因 图片说明:       最佳答案 命苦,重装软件吧! 提问者对于答…

    2017年11月18日
  • prosave os 这两个单词在触摸屏方面是什么意思啊?

    prosave    os   这两个单词在触摸屏方面是什么意思啊?请答侠大哥指教 最佳答案 ProSave用…

    SIMATIC WinCC 2019年6月11日
  • WINCC全局C脚本触发条件

    新手请教一下大家,我想实现一个这样的功能,当变量a由0变为1 时,触发MessageBox信息 ,我写的语句实现不了,帮我看一下要怎么写,可以的话贴上语句,谢谢…

    2020年11月1日
  • wincc7.0图形不变色

    关于一个测试程序的问题请高手们帮帮忙,谢谢了http://zhidao.baidu.com/question/574937372?quesup2&oldq=1&sort=6我在wi…

    2017年12月10日
  • WINCC授权

    请问SI-A9WSE授权是什麽?我装了WINCC授权为什麽还提示缺这样一个授权? 最佳答案 问问分销商. 提问者对于答案的评价:感谢,我已经知道了,是WINCC SERVE.

    SIMATIC WinCC 2019年6月11日
  • wincc v7.5下载

    请问这个WINCCV7.5+SP1在官网哪里下载? 最佳答案 SIMATIC WinCC V7.5 SP1软件下载http://www.wincc.c…

    SIMATIC WinCC 2021年7月5日
  • 请问能不能把这张表格插入到WINCC中?

    请问能不能把这张表格插入到WINCC中?最好是能编辑的,用OLE对象行吗?谢谢! 问题补充:我打算用SPREADSHEET,我用execl的OLE对象打开一直很卡,但是我问下SPR…

    2020年11月1日
  • WINCC 7.0怎么安装

    操作系统 是vista 商业版 自定义安装WINCC 7.0时应该选哪些 哪些不选也可以 最佳答案 Windows Vi…

    SIMATIC WinCC 2019年6月11日
  • STEP7 变量传送到WINCC

    STEP7 变量传送到WINCC中。 按照官网上下载的"从WINCC中调用STEP7变量"文档中的步骤,变量表中的成功传送到WINCC中。&…

    SIMATIC WinCC 2019年6月11日