我有一个essbase宏要连接到数据库,我在一个xml文件中有3个服务器详细信息,我必须为它设置一个活动标志,这样当它说"Y"时,它就必须用特定的服务器详细信息连接宏,请让我知道任何输入
=================================================
Sub ImportXMLtoList()
Dim strTargetFile As String
Dim wb As Workbook
application.ScreenUpdating = False
application.DisplayAlerts = False
strTargetFile = "C:UsersrajiDesktopLoginDetails.xml"
Set wb = Workbooks.OpenXML(Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList)
application.DisplayAlerts = True
wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("Sheet1").range("A1")
wb.Close False
application.ScreenUpdating = True
Dim r As Long, endRow As Long, pasteRowIndex As Long
endRow = 5
pasteRowIndex = 1
For r = 1 To endRow
If Cells(r, Columns("F").Column).Value = "Y" Then 'Found
Rows(r).Select
Selection.Copy
Sheets("Sheet2").Select
Rows(pasteRowIndex).Select
ActiveSheet.Paste
Sheets("Sheet1").Select
End If
Next r
通过这段代码,我可以从XML调用数据,并且在Active标志设置为Y的情况下,我可以将其写入下一页
现在我正试图将行数据调用到EssvConnect 中
Set myusername = Sheet2.range("B1")
Set mypassword = Sheet2.range("C1")
Set myServer = Sheet2.range("A1")
Set myApp = Sheet2.range("D1")
Set myDB = Sheet2.range("E1")
x = EssVConnect("[Book1.xls] Sheet6", "myusername", "mypassword", "myServer", "myApp", "myDB")
range("A1:P35").Select
application.Run macro:="EssMenuRetrieve"
当我试图运行这个时,我得到错误"需要对象",请帮助我出
提前感谢
请使用以下代码,它运行良好
Sheets("Sheet2").Activate
myUserName = ActiveSheet.Cells(1, 2)
myPassword = ActiveSheet.Cells(1, 3)
myServer = ActiveSheet.Cells(1, 1)
myApp = ActiveSheet.Cells(1, 4)
myDB = ActiveSheet.Cells(1, 5)
x = EssVConnect("[Book1.xls] Sheet6", myUserName, myPassword, myServer, myApp, myDB)
Sheets("Sheet6").Select
range("A1:P35").Select
application.Run macro:="EssMenuRetrieve"
看看这里:使用Essbase VBA函数
Sub Conn()
X=EssVConnect(Empty, "User1", "password", "Local", "Sample", "Basic")
'or
'X=EssVConnect("[SAMPVBA.XLS]", "USER1", "PASSWORD", "LOCAL", "Sample", "Basic")
End Sub
样本代码
您可以在这里找到更多信息:Essbase-Excel 中使用的VBA函数库