Public Sub openExcel()
'設定對話框屬性,用于指定EXCEL檔案
CommonDialog1.Filter= “Excel檔案 * .xls”
CommonDialog1.Action= 1
If CommonDialog1.FileName< > “” Then
expath= CommonDialog1.FileName
'打開對話框指定的EXCEL作業簿
Workbooks.Open FileName:= expath
oldbook.Close
Else
End If
End Sub
uj5u.com熱心網友回復:
Workbooks.Open FileName:= expath
代碼在哪里?是vb還是vba?
如果是vb,前面應該加一個excel物件的,如:
dim mExcel as new excel.application
mexcel.workbooks.open filename:=expath
....
uj5u.com熱心網友回復:
感謝您的解答,用的VB,也添加了excel物件,現在問題又來了,mexcel.workbooks.open filename:=expath運行時,錯誤提示48,加載dll檔案錯誤,求指導啊
uj5u.com熱心網友回復:
參考 1 樓 Topc008 的回復: Workbooks.Open FileName:= expath
代碼在哪里?是vb還是vba?
如果是vb,前面應該加一個excel物件的,如:
dim mExcel as new excel.application
mexcel.workbooks.open filename:=expath
....
感謝您的解答,用的VB,也添加了excel物件,現在問題又來了,mexcel.workbooks.open filename:=expath運行時,錯誤提示48,加載dll檔案錯誤,求指導啊
uj5u.com熱心網友回復:
例子:2003環境
Option Explicit
Private mExcel As Excel.Application
Private Sub Command1_Click()
Set mExcel = New Excel.Application
mExcel.Visible = True
Dim S1 As String
S1 = "d:\6.xls"
mExcel.Workbooks.Open FileName:=S1
End Sub
執行后可以看到打開的6.xls檔案。
你那個excel是不是加載了一些加載項或加載宏等其它外部dll?
你還是上全部代碼和錯誤圖示吧,不太好猜測的.......
uj5u.com熱心網友回復:
參考 4 樓 Topc008 的回復: 例子:2003環境
Option Explicit
Private mExcel As Excel.Application
Private Sub Command1_Click()
Set mExcel = New Excel.Application
mExcel.Visible = True
Dim S1 As String
S1 = "d:\6.xls"
mExcel.Workbooks.Open FileName:=S1
End Sub
執行后可以看到打開的6.xls檔案。
你那個excel是不是加載了一些加載項或加載宏等其它外部dll?
你還是上全部代碼和錯誤圖示吧,不太好猜測的.......
參考 4 樓 Topc008 的回復: 例子:2003環境
Option Explicit
Private mExcel As Excel.Application
Private Sub Command1_Click()
Set mExcel = New Excel.Application
mExcel.Visible = True
Dim S1 As String
S1 = "d:\6.xls"
mExcel.Workbooks.Open FileName:=S1
End Sub
執行后可以看到打開的6.xls檔案。
你那個excel是不是加載了一些加載項或加載宏等其它外部dll?
你還是上全部代碼和錯誤圖示吧,不太好猜測的.......
'在全域模塊通用段宣告變數為EXCEL物件
'宣告變數為EXCEL應用程式物件
Public oldxls As Excel.Application
'宣告變數為EXCEL作業簿物件
Public oldbook As Excel.Workbook
'宣告變數為EXCEL作業表物件
Public oldsheet As Excel.Worksheet
'撰寫連接EXCEL的子程式(名為joinExcel)
Private Sub CmdJoinExcel_Click()
On Error Resume Next
Set oldxls = GetObject(App.Path, "Excel.Application")
If Err Then
Err.Clear
Set oldxls = CreateObject("excel.Application")
If Err Then
Exit Sub
End If
End If
oldxls.Visible = True
Set oldbook = oldxls.Workbooks.Add
Set oldsheet = oldbook.Worksheets(1)
End Sub
'撰寫打開EXCEL檔案的子程式openExcel
Private Sub CmdOpenExcel_Click()
'設定對話框屬性,用于指定EXCEL檔案
If Err Then
Err.Clear
End If
CommonDialog1.Filter = "Excel檔案 * .xls"
CommonDialog1.Action = 1
If CommonDialog1.FileName <> "" Then
expath = CommonDialog1.FileName
'打開對話框指定的EXCEL作業簿
Workbooks.Open FileName:=expath‘這句出錯,xp系統48錯誤,win7系統運行429錯誤,求指導
If Err Then
Exit Sub
End If
oldbook.Close
Else
End If
End Sub
很急啊,求大神指導!
uj5u.com熱心網友回復:
Workbooks.Open FileName:=expath‘這句出錯,xp系統48錯誤,win7系統運行429錯誤,求指導
要么是oldxls.Workbooks.Open FileName:=expath
要么是oldbook.open FileName:=expath
你光弄個Workbooks算啥?
uj5u.com熱心網友回復:
糊涂了,
--------------要么是oldbook.open FileName:=expath
這是錯誤的,oldbook沒有這樣用的
uj5u.com熱心網友回復:
參考 7 樓 Topc008 的回復: 糊涂了,
--------------要么是oldbook.open FileName:=expath
這是錯誤的,oldbook沒有這樣用的
你好,oldbook.open FileName:=expath,這句改了,又出現錯誤91,物件變數未設定,剛學vb,求教啊
uj5u.com熱心網友回復:
Quote: 參考 7 樓 Topc008 的回復:
糊涂了,
--------------要么是oldbook.open FileName:=expath
這是錯誤的,oldbook沒有這樣用的[/q
大神,因為專案明天就交工了,能否給個聯系方式,直接解決問題,另外我用的vb6.0版本估計和你版本不一樣,問題也不一樣
uj5u.com熱心網友回復:
按照你的代碼設計來的,請參考:
Option Explicit
'宣告變數為EXCEL應用程式物件
Private oldXls As Excel.Application
'宣告變數為EXCEL作業簿物件
Private oldBook As Excel.Workbook
'宣告變數為EXCEL作業表物件
Private oldSheet As Excel.Worksheet
'撰寫連接EXCEL的子程式(名為joinExcel)
Private Sub CmdJoinExcel_Click()
On Error Resume Next
Set oldXls = GetObject(, "Excel.Application")
If oldXls Is Nothing Then
Set oldXls = CreateObject("excel.Application")
End If
If oldXls Is Nothing Then
MsgBox "無法創建Excel物件!!!"
Exit Sub
End If
If Not oldXls.Visible Then oldXls.Visible = True
MsgBox "Excel已經準備好,可以打開檔案了!"
End Sub
'撰寫打開EXCEL檔案的子程式openExcel
Private Sub CmdOpenExcel_Click()
'設定對話框屬性,用于指定EXCEL檔案
On Error GoTo 100
Dim exPath As String
With CommonDialog1
.Filter = "*.xls"
.ShowOpen
exPath = .FileName
End With
If exPath = "" Then Exit Sub
'打開對話框指定的EXCEL作業簿
Set oldBook = oldXls.Workbooks.Open(FileName:=exPath)
MsgBox "指定的作業簿已經打開了---" & exPath
Exit Sub
100:
MsgBox Err.Description
End Sub
。。。
代碼都放在一個form里即可。
uj5u.com熱心網友回復:
參考 10 樓 Topc008 的回復: 按照你的代碼設計來的,請參考:
Option Explicit
'宣告變數為EXCEL應用程式物件
Private oldXls As Excel.Application
'宣告變數為EXCEL作業簿物件
Private oldBook As Excel.Workbook
'宣告變數為EXCEL作業表物件
Private oldSheet As Excel.Worksheet
'撰寫連接EXCEL的子程式(名為joinExcel)
Private Sub CmdJoinExcel_Click()
On Error Resume Next
Set oldXls = GetObject(, "Excel.Application")
If oldXls Is Nothing Then
Set oldXls = CreateObject("excel.Application")
End If
If oldXls Is Nothing Then
MsgBox "無法創建Excel物件!!!"
Exit Sub
End If
If Not oldXls.Visible Then oldXls.Visible = True
MsgBox "Excel已經準備好,可以打開檔案了!"
End Sub
'撰寫打開EXCEL檔案的子程式openExcel
Private Sub CmdOpenExcel_Click()
'設定對話框屬性,用于指定EXCEL檔案
On Error GoTo 100
Dim exPath As String
With CommonDialog1
.Filter = "*.xls"
.ShowOpen
exPath = .FileName
End With
If exPath = "" Then Exit Sub
'打開對話框指定的EXCEL作業簿
Set oldBook = oldXls.Workbooks.Open(FileName:=exPath)
MsgBox "指定的作業簿已經打開了---" & exPath
Exit Sub
100:
MsgBox Err.Description
End Sub
。。。
代碼都放在一個form里即可。
Private Sub CmdJoinExcel_Click()
'Dim xlsApp As Object
'Dim xlsBook As Object
'Dim xlsSheet As Object
Dim xlsApp As New Excel.Application
On Error Resume Next ' 改變錯誤陷阱
Set xlsApp = GetObject(App.Path, "et.Application")
If Err Then
Err.Clear '清除 Err 物件欄位
Set xlsApp = CreateObject("et.Application")
If Err Then
Exit Sub ' 退出程式,以避免進入錯誤處理程式
End If
End If
xlsApp.Visible = True
Set xlsBook = xlsApp.Workbooks.Add
LX = (ComLX.Text)
Select Case LX
Case Is = 1
Set xlsSheet = xlsBook.Worksheets(1) '設定作業表1
Cells(1, 1) = "基本引數": Cells(2, 1) = "名稱": Cells(2, 2) = "開式深溝球優化引數": Cells(3, 1) = "系列"
Case Is = 2
Set xlsSheet = xlsBook.Worksheets(2) '設定作業表2
Cells(1, 1) = "基本引數": Cells(2, 1) = "名稱": Cells(2, 2) = "密封深溝球優化引數": Cells(3, 1) = "系列"
Case Is = 3
Set xlsSheet = xlsBook.Worksheets(3) '設定作業表3
Cells(1, 1) = "基本引數": Cells(2, 1) = "名稱": Cells(2, 2) = "帶防塵蓋深溝球優化引數": Cells(3, 1) = "系列"
End Select
xlsApp.Save '保存作業簿
xlsBook.Close '關閉作業薄檔案
xlsApp.Quit '結束excel物件
Set xlsApp = Nothing '釋放xlapp物件得記憶體空間
Set xlsBook = Nothing
Set xlsSheet = Nothing
End Sub
大神,現在的問題是第一次可以給excel賦值,第二次就變成空的了,不能賦值,求解答,十分感謝啊!
uj5u.com熱心網友回復:
參考 10 樓 Topc008 的回復: 按照你的代碼設計來的,請參考:
Option Explicit
'宣告變數為EXCEL應用程式物件
Private oldXls As Excel.Application
'宣告變數為EXCEL作業簿物件
Private oldBook As Excel.Workbook
'宣告變數為EXCEL作業表物件
Private oldSheet As Excel.Worksheet
'撰寫連接EXCEL的子程式(名為joinExcel)
Private Sub CmdJoinExcel_Click()
On Error Resume Next
Set oldXls = GetObject(, "Excel.Application")
If oldXls Is Nothing Then
Set oldXls = CreateObject("excel.Application")
End If
If oldXls Is Nothing Then
MsgBox "無法創建Excel物件!!!"
Exit Sub
End If
If Not oldXls.Visible Then oldXls.Visible = True
MsgBox "Excel已經準備好,可以打開檔案了!"
End Sub
'撰寫打開EXCEL檔案的子程式openExcel
Private Sub CmdOpenExcel_Click()
'設定對話框屬性,用于指定EXCEL檔案
On Error GoTo 100
Dim exPath As String
With CommonDialog1
.Filter = "*.xls"
.ShowOpen
exPath = .FileName
End With
If exPath = "" Then Exit Sub
'打開對話框指定的EXCEL作業簿
Set oldBook = oldXls.Workbooks.Open(FileName:=exPath)
MsgBox "指定的作業簿已經打開了---" & exPath
Exit Sub
100:
MsgBox Err.Description
End Sub
。。。
代碼都放在一個form里即可。
我現在選用的是打開一個單元格賦值的方法,沒有用打開模板的方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/76815.html
標籤:控件
上一篇:vb中寫完一個程式后運行時,不說程式有沒有錯誤,運行不了,
下一篇:VC++6.0工具使用問題