Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > SDK
SDK Forum d'entraide pour la programmation des outils BO par des API (VBA, ASP, Java)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2007, 15h46   #1
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Par défaut [VBA]Lancement de BO depuis Excel

Bonjour,

J'ai une procédure (prise sur le forum) qui lance BO depuis excel, mais j'ai un message d'erreur qui m'empeche d'ouvrir le rapport. Je ne comprends pas car j'ai toutes les autorisations.

Code vba :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub LanceBO()
Dim objBO, objrep
 
'Ouvre Business Object
Set objBO = CreateObject("BusinessObjects.Application.6")
 
'Affiche BO
objBO.Visible = True
 
'Connecte l'utilisateur
objBO.LoginAs "xxx", "xxx", True
 
'Ouvre le rapport
Set objrep = objBO.Documents.Open("G:\Members\V\Docs\Business Object\Odyssey 031207(1).rep")
 
End Sub

Voici mon message d'erreur :

Le lancement de l'application n'a pas réussi car libcs.dll n'a pas été trouvé. Re-installé l'application devrait resoudre le probleme (cela a déja été fait)

et ensuite un deuxieme message signale "excel is waiting for another application to complete an OLE action"

J'ai vu que certaines personnes avaient eu un problème similaire sur le forum. Pourriez-vous m'aider svp?

Merci
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 16h02   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
As tu pensé Application.Interactive = False ?????
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 16h15   #3
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Non pas du tout, tu peux etre un peu plus précis stp?
Merci
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 17h50   #4
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Résumons Voilà comment je m'y prendrais
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Sub LanceBO()
Dim objBO, objrep
 
'Ouvre Business Object
Set objBO = CreateObject("BusinessObjects.Application.6")
 
'Affiche BO
objBO.Visible = True
'Annule interactivté avec utilisateur
 objBO.Interactive = False

'Connecte l'utilisateur
objBO.LoginAs "xxx", "xxx", True
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 18h18   #5
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Apparement j'ai toujours le meme problème, il me manque un fichier "dll", ce qui m'empeche de lancer l'application.
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 18h27   #6
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Peux tu essayer de lancer BO à partir de la Commande Exécuter
Code :
1
2
C:\Program Files\Business Objects6\BusinessObjects Enterprise 6
\bin\busobj.exe -user TINTIN -pass MILOU
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 18h55   #7
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Oui ca marche
Code :
shell ("C:\Program Files\BUSINESS OBJECTS61B\bo6.cmd -xxx-xxx")
mais j'ai toujours le meme problème au moment d'ouvrir le rapport

Code :
SET objrep = objBO.Documents.Open("G:\Members\V\Docs\Business Object\Odyssey.rep")
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 19h05   #8
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Et à la main tu l'ouvres bien sûr ...
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 19h21   #9
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Essaies d'ajouter
Code :
1
2
shell ("C:\Program Files\BUSINESS OBJECTS61B\
bo6.cmd -xxx-xxx C:\chemin\document.rep" )
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 10h28   #10
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Salut,

rien n'y fait j'ai toujours le meme problème, j'ai essayer ce code également sans succes.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
Sub LanceBO()
Dim strNomFic AS String
 
Sheets("sheet1").SELECT
rep1 = InputBox("", "Lettre du serveur", g)
IF rep1 = Cancel Then
 
Exit Sub
 
Else: SET objBO = CreateObject("BusinessObjects.Application.6")
objBO.LoginAs "xxx", "xxx", True
strNomFic = rep1 & ":\Members\V\Docs\Business Object\Odyssey 031207(1).rep"
SET objrep = objBO.Documents.Open(strNomFic)
End IF
 
End Sub
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 10h38   #11
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Bonjour,

1) Est ce que tu parviens à ouvrir ce document à la main avec ce user ?
Quand tu dis toujours le même problème tu veux dire :
échec ?
ou
1) échec avec même message d'erreur ?
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 10h46   #12
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Oui manuellement je n'ai aucun problème heureusement!
Et oui j'ai toujours le meme message d'erreur qui se produit au moment d'ouvrir le document.rep (libcs.dll non trouvé..)

Code :
1
2
'Ouvre le rapport
Set objrep = objBO.Documents.Open("G:\Members\V\Docs\Business Object\Odyssey.rep")
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 10h58   #13
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Y'a un truc qui me chagrine ....
As tu essayé simplement

Code :
Application.Documents.Open("G:\Members\V\Docs\Business Object\Odyssey.rep")
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 11h12   #14
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Oui j'ai essayé trois procédures différentes.

Peut etre ce code peut marcher en l'adaptant un peu mieux , car la j'ai une erreur "438" (object ne suuporte pas cette propriété) sur la dernière ligne.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub LanceBO3()
Dim objBO
 
'Ouvre Business Object
Set objBO = CreateObject("BusinessObjects.Application.6")
 
'Affiche BO
objBO.Visible = True
 
'Connecte l'utilisateur
objBO.LoginAs "x", "x", True
 
'Ouvre le rapport
Application.Documents.Open ("G:\Members\V\Docs\Business Object\Odyssey.rep")
 
End Sub
j'ai également ce code mais qui ne fonctionne pas, je me trompe surement dans la syntaxe en meme temps.

Code :
1
2
3
4
5
6
7
8
9
10
11
Sub LanceBO()
 
 
'Ouvre Business Object et connecte l'utilisateur
shell ("C:\Program Files\BUSINESS OBJECTS61B\bo6.cmd -xxx-xxx")
 
Application.Visible = True
 
Application.Documents.Open ("G:\Members\V\Docs\Business Object\Odyssey.rep")
 
End Sub
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 11h35   #15
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
derech,
Je viens de me créer cette procédure dans un module Excel
Elle marche parfaitement
Lance BO
Ouvre mon document
Code :
1
2
3
4
5
6
7
8
Public Sub LanceBO()
 
SET objBo = CreateObject("BusinessObjects.Application.6")
objBo.LoginAs "xxx", "yyy", True
objBo.Visible = True
objBo.Documents.Open ("U:\DONNEES\BO\BO_BRRUSER\ASTUCES\annee_invite.rep")
 
End Sub
Je crois bien que je ne peux rien de plus pour ton problème qui doit être propre à ton installation ou config
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2007, 18h32   #16
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Alors dis moi si ce code une fois adapté à ton document fonctionne ????

Moi je considère ce sujet Résolu.
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 09h13   #17
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Le code ne fonctionne pas chez moi et ce n'est pas un problème d'installation ou de config.

Il semblerait que ce soit un problème de variables manquantes lorsque je lance mon doc.rep. La procédure semble plus compliqué. Je vai me debrouiller.
En tout cas merci pour ton aide.
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 10h48   #18
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Bonjour,

J'ai déjà fait un truc, mais sous VB6. Je ne sais pas si la syntaxe est différente, mais ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
    Dim boDoc AS busobj.Document
    Dim bo AS busobj.Application
    Dim FilePath, ReportName, RepoName, PartFileName AS String
    Dim promptName AS busobj.Variable
    Dim promptValue AS String
 
    Screen.MousePointer = vbHourglass
 
    ReportName = txtRapport.Text
 
    ' Connexion BO
    On Error Resume Next
    Set bo = CreateObject("BusinessObjects.Application.6")
    bo.LoginAs User, Pwd, False
    If Err Then
        On Error GoTo 0
        bo.Quit
        Set bo = Nothing
        Screen.MousePointer = vbDefault
        MsgBox "Paramètres de connexion invalides." & vbCrLf & Err.Description, vbOKOnly, "Connexion"
    End If
 
    ' Ouverture du document BO
    SET boDoc = bo.Documents.Open(ReportName, True, False)
    IF Err Then
        ON Error GoTo 0
        bo.Quit
        SET bo = Nothing
        Screen.MousePointer = vbDefault
        MsgBox "Erreur :" & vbCrLf & Err.Description, vbOKOnly, "Connexion"
        Exit Sub
    End IF
 
    ' Application des valeur des invites
    For i = 1 To NbInvite - 1
        If Len(Trim(ValeurInvite(i))) > 0 Then
            Set promptName = boDoc.Variables.Add(TexteInvite(i))
            promptName.Value = ValeurInvite(i)
        End If
    Next i
 
    bo.Application.Interactive = False
    boDoc.Refresh
    boDoc.Save
    bo.Interactive = True
    DoEvents
    ' Sélection du rapport (onglet)
    SET repBO = boDoc.Reports.Item(1)
    ..........
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/12/2007, 15h12   #19
Futur Membre du Club
 
Inscription : octobre 2007
Messages : 85
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 85
Points : 15
Points : 15
Merci beaucoup je vai voir ce que ca donne
derech est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h18.


 
 
 
 
Partenaires

Hébergement Web