我在vb6中创建了一个代码,用于打开现有的excel文件并在工作表内计算值。
我遇到的问题: " MDURATION" "打开" Excel的;但是,我检查了独立的ms excel实际上有这个公式,所以我不知道如何通过vb代码打开excel文件(已经是.exe格式),它无法识别该功能。我在2台电脑上遇到这个错误,虽然我已经测试了3台电脑没有问题。
我熟悉的解决方案: 我在输入公式的代码之前添加了这个:AddIns("Analysis ToolPak").Installed = False
AddIns("Analysis ToolPak").Installed = True
它似乎在我的其他程序上工作得很好,但是在这个特定程序上,似乎没有效果。
此外,我已经加载了一个运行时错误1004:此方法的对象失败方法:
Range("I" & iCtrRow & "").NumberFormat = "#,##0.00000"
我不确定导致错误的原因。
非常感谢!!!
答案 0 :(得分:1)
此外,我已经加载了一个运行时错误1004:此方法的对象失败方法:
如果是vb6,那么您需要指定完整的参考。例如。
Private Sub Sample()
Dim oXLApp As Object, oXLWB As Object, oXLSht As Object
Dim iCtrRow As Long
'~~> Establish an EXCEL application object
On Error Resume Next
Set oXLApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set oXLApp = CreateObject("Excel.Application")
End If
Err.Clear
On Error GoTo 0
oXLApp.Visible = True
'~~> Open the relevant file
Set oXLWB = oXLApp.Workbooks.Open("C:\Book1.xls")
'~~> Change (1) to the relevant sheet
Set oXLSht = oXLWB.Worksheets(1)
iCtrRow = 1
'~~> iCtrRow
oXLSht.Range("I" & iCtrRow).NumberFormat = "#,##0.00000"
End Sub
如果你在VBA中这样做,就会像这样
Private Sub Sample()
Dim oXLWB As Workbook, oXLSht As Worksheet
Dim iCtrRow As Long
'~~> Open the relevant file
Set oXLWB = Workbooks.Open("C:\Book1.xls")
'~~> Change (1) to the relevant sheet
Set oXLSht = oXLWB.Worksheets(1)
iCtrRow = 1
'~~> iCtrRow
oXLSht.Range("I" & iCtrRow).NumberFormat = "#,##0.00000"
End Sub
关于Analysis Toolpak,您是否可以显示有关如何激活它以及使用“MDURATION”公式的确切vb6代码。