#2
zhusong19982019-03-26 13:50
|
程序代码:
Option Explicit
Public xlapp As excel.Application
Private Sub Command1_Click()
Dim i%
Dim fn As String
Dim mywb
Dim fn1
fn = app.path & "\调试初始化\各国家中重卡采购明细汇总表.xlsx"
fn1 = "各国家中重卡采购明细汇总表.xlsx"
On Error Resume Next
Set xlapp = GetObject(, "excel.application")
If Not xlapp Is Nothing Then
For i = 1 To xlapp.Workbooks.Count '统计不了程序打开的文件,打开了4个文件,但统计数只有3个
If LCase(xlapp.Workbooks(i).FullName) = LCase(fn) Then '识别不到程序打开的文件
xlapp.Workbooks(fn).Activate
Set mywb = xlapp.Workbooks(fn1)
Exit For
End If
Next i
If mywb Is Nothing Then
Set xlapp = CreateObject("excel.application")
Set mywb = excel.Workbooks.Open(App.Path & "\各国家中重卡采购明细汇总表.xlsx")
xlapp.Visible = True
End If
Else
Set xlapp = CreateObject("excel.application")
Set mywb = excel.Workbooks.Open("" & App.Path & "\各国家中重卡采购明细汇总表.xlsx")
xlapp.Visible = True
End If
End
End Sub
'实现的功能:判断所需文件是否打开,如果打开了就激活文件。如果没有打开则打开再激活。
'存在问题:手动打开所需的文件,再次启动程序时可以识别到所需文件已经打。
' 但是程序自己打开所需文件,再次运行程序时就识别不到所需文件已经打开,仍然会再次打开所需文件(只读)。
'程序打开的文件名称是这种“microsoft excel-文件名.xlsx”,可能因为这个,程序在下次判断时就识别不到自己打开的文件。
Public xlapp As excel.Application
Private Sub Command1_Click()
Dim i%
Dim fn As String
Dim mywb
Dim fn1
fn = app.path & "\调试初始化\各国家中重卡采购明细汇总表.xlsx"
fn1 = "各国家中重卡采购明细汇总表.xlsx"
On Error Resume Next
Set xlapp = GetObject(, "excel.application")
If Not xlapp Is Nothing Then
For i = 1 To xlapp.Workbooks.Count '统计不了程序打开的文件,打开了4个文件,但统计数只有3个
If LCase(xlapp.Workbooks(i).FullName) = LCase(fn) Then '识别不到程序打开的文件
xlapp.Workbooks(fn).Activate
Set mywb = xlapp.Workbooks(fn1)
Exit For
End If
Next i
If mywb Is Nothing Then
Set xlapp = CreateObject("excel.application")
Set mywb = excel.Workbooks.Open(App.Path & "\各国家中重卡采购明细汇总表.xlsx")
xlapp.Visible = True
End If
Else
Set xlapp = CreateObject("excel.application")
Set mywb = excel.Workbooks.Open("" & App.Path & "\各国家中重卡采购明细汇总表.xlsx")
xlapp.Visible = True
End If
End
End Sub
'实现的功能:判断所需文件是否打开,如果打开了就激活文件。如果没有打开则打开再激活。
'存在问题:手动打开所需的文件,再次启动程序时可以识别到所需文件已经打。
' 但是程序自己打开所需文件,再次运行程序时就识别不到所需文件已经打开,仍然会再次打开所需文件(只读)。
'程序打开的文件名称是这种“microsoft excel-文件名.xlsx”,可能因为这个,程序在下次判断时就识别不到自己打开的文件。
只有本站会员才能查看附件,请 登录