Set excel1 = New Excel.Application excel1.Visible = False excel1.Workbooks.Open (App.Path & "\程序模版.xls") ‘此处 写你需要打开的路径 excel1.Workbooks("程序模版.xls").Sheets("待打印").Select ’你要选择的表 '下面是判断,你所需要打开的文件是否已经被打开 If excel1.Workbooks("程序模版.xls").ReadOnly = True Then excel1.DisplayAlerts = False excel1.Application.Quit excel1.DisplayAlerts = True MsgBox "你已经打开“程序模版.xls”" & Chr(13) & "请关闭原有的“程序模版.xls”,在运行打印。", vbOKOnly + vbExclamation, "错误提示" excel1.Visible = True Exit Sub End If ‘以下添加你将第一列不为空的全部加入到,所说的到combo1dim i as long for i = 1 to excel1.Workbooks("程序模版.xls").Sheets("待打印").range("a65536).end(xlup).row if trim(excel1.Workbooks("程序模版.xls").Sheets("待打印").cells(i,1))<>"" then combo1.additem excel1.Workbooks("程序模版.xls").Sheets("待打印").cells(i,1) end if next
Dim excel1 Set excel1 = New Excel.Application excel1.Visible = False excel1.Workbooks.Open (CommonDialog1.FileName) '此处 写你需要打开的路径 excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Select '你要选择的表 '下面是判断,你所需要打开的文件是否已经被打开 If excel1.Workbooks(CommonDialog1.FileName).ReadOnly = True Then excel1.DisplayAlerts = False excel1.Application.Quit excel1.DisplayAlerts = True MsgBox "你已经打开 " & CommonDialog1.FileName & Chr(13) & "请关闭原有的“程序模版.xls”,在运行打印。", vbOKOnly + vbExclamation, "错误提示" excel1.Visible = True Exit Sub End If '以下添加你将第一列不为空的全部加入到,所说的到combo1
Dim i As Long For i = 1 To excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Range("a65536").End(xlUp).Row If Trim(excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Cells(i, 1)) <> "" Then Combo1.AddItem excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Cells(i, 1) End If Next End Sub
整那么复杂干嘛? Private Sub Command1_Click() Dim mExcel As Excel.Application Dim mBook As Excel.Workbook, mSht As Excel.Worksheet ''文档已经打开的情况下 Set mExcel = GetObject(, "excel.application") Set mBook = mExcel.ActiveWorkbook ''文档还没打开的情况下 ''Set mExcel = CreateObject("excel.application") ''Set mBook = mExcel.Workbooks.Open("你的文件名带路径") Set mSht = mBook.Worksheets("sheet1") ''默认sheet1为你的目标工作表 Dim i As Long, Rng As Excel.Range Combo1.Clear ''清除列表 With mSht i = .Cells(1, .Columns.Count).End(xlToLeft).Column ''确定第一行最后一个不为空的列号 For Each Rng In .Range(.Cells(1, 1), .Cells(1, i)) If Rng.Value <> "" Then Combo1.AddItem Rng.Value Next End With End Sub
Set excel1 = New Excel.Application
excel1.Visible = False
excel1.Workbooks.Open (App.Path & "\程序模版.xls") ‘此处 写你需要打开的路径
excel1.Workbooks("程序模版.xls").Sheets("待打印").Select ’你要选择的表
'下面是判断,你所需要打开的文件是否已经被打开
If excel1.Workbooks("程序模版.xls").ReadOnly = True Then
excel1.DisplayAlerts = False
excel1.Application.Quit
excel1.DisplayAlerts = True
MsgBox "你已经打开“程序模版.xls”" & Chr(13) & "请关闭原有的“程序模版.xls”,在运行打印。", vbOKOnly + vbExclamation, "错误提示"
excel1.Visible = True
Exit Sub
End If
‘以下添加你将第一列不为空的全部加入到,所说的到combo1dim i as long
for i = 1 to excel1.Workbooks("程序模版.xls").Sheets("待打印").range("a65536).end(xlup).row
if trim(excel1.Workbooks("程序模版.xls").Sheets("待打印").cells(i,1))<>"" then
combo1.additem excel1.Workbooks("程序模版.xls").Sheets("待打印").cells(i,1)
end if
next
Set excel1 = New Excel.Application
excel1.Visible = False
excel1.Workbooks.Open (CommonDialog1.FileName) '此处 写你需要打开的路径
excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Select '你要选择的表
'下面是判断,你所需要打开的文件是否已经被打开
If excel1.Workbooks(CommonDialog1.FileName).ReadOnly = True Then
excel1.DisplayAlerts = False
excel1.Application.Quit
excel1.DisplayAlerts = True
MsgBox "你已经打开 " & CommonDialog1.FileName & Chr(13) & "请关闭原有的“程序模版.xls”,在运行打印。", vbOKOnly + vbExclamation, "错误提示"
excel1.Visible = True
Exit Sub
End If
'以下添加你将第一列不为空的全部加入到,所说的到combo1
Dim i As Long
For i = 1 To excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Range("a65536").End(xlUp).Row
If Trim(excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Cells(i, 1)) <> "" Then
Combo1.AddItem excel1.Workbooks(CommonDialog1.FileName).Sheets("待打印").Cells(i, 1)
End If
Next
End Sub
Private Sub Command1_Click()
Dim mExcel As Excel.Application
Dim mBook As Excel.Workbook, mSht As Excel.Worksheet
''文档已经打开的情况下
Set mExcel = GetObject(, "excel.application")
Set mBook = mExcel.ActiveWorkbook
''文档还没打开的情况下
''Set mExcel = CreateObject("excel.application")
''Set mBook = mExcel.Workbooks.Open("你的文件名带路径")
Set mSht = mBook.Worksheets("sheet1") ''默认sheet1为你的目标工作表
Dim i As Long, Rng As Excel.Range
Combo1.Clear ''清除列表
With mSht
i = .Cells(1, .Columns.Count).End(xlToLeft).Column ''确定第一行最后一个不为空的列号
For Each Rng In .Range(.Cells(1, 1), .Cells(1, i))
If Rng.Value <> "" Then Combo1.AddItem Rng.Value
Next
End With
End Sub