新问题,往Excel里插入问题的新问题!

已锁定

五一

  • 帖子

    10
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2010-01-11

普通 普通 如何晋级?

新问题,往Excel里插入问题的新问题!

3221

5

2012-09-13 09:51:33

Dim ExcelApp,ExcelBook,activename,isopen

On Error Resume Next
Set ExcelApp=GetObject(,"Excel.Application")

MsgBox TypeName(ExcelApp)


If TypeName(ExcelApp)="Application"Then

activename=ExcelApp.ActiveWorkbook.Name
For Each ExcelBook In ExcelApp.WorkBooks
If ExcelBook.FullName="D:\dd.xls"Then
isopen = True
Exit For
End If
Next
If Not isopen Then

ExcelApp.Visible=True
ExcelApp.Workbooks.Open"D:\dd.xls"
ExcelApp.Worksheets(sheetname).Activate
End If
Else
Set ExcelApp =CreateObject("Excel.Application")
ExcelApp.Visible=True
ExcelApp.Workbooks.Open"D:\dd.xls"
ExcelApp.Worksheets(sheetname).Activate
End If

ExcelApp.WorkBooks("dd.xls").Activate

(插入数据代码)

ExcelApp.WorkBooks(activename).Activate



意图:通过脚本往指定的Excel文件里插入数据,并且不影响Excel其他文件的使用。要插入数据的Excel文件始终处于打开状态,插入时,将其激活前置,插入后再恢复。



思路:每次插入数据都判断有没有Excel进程,如果有,则在已经打开的工作薄里查找是否有"D:\dd.xls"被打开,如果已经打开,对其进行插入数据操作,如果没有打开,则打开这个文件。如果没有Excel进程则创建Excel进程并打开"D:\dd.xls"。



问题:当没有Excel进程时,MsgBox TypeName(ExcelApp)返回Empty;当有Excel进程,且不处于编辑状态时,MsgBox TypeName(ExcelApp)返回Application;关键是当有Excel进程,且有文件处于编辑状态(某个单元格处于编辑状态),MsgBox TypeName(ExcelApp)返回Object,不知道这个时候如何判断、操作。
新问题,往Excel里插入问题的新问题! 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有33024条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。