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 13/05/2008, 17h14   #1
Invité de passage
 
Inscription : août 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 13
Points : 4
Points : 4
Par défaut [XI R2][VBS] Problème d'export HTML

Bonjour,

J'utilise un petit script VBS (pas développé par moi mais je que reprends) pour rafraîchir et exporter des rapports en HTML.
Voici ce qu'on veut : 1 répertoire par rapport du document, 1 fichier HTML par section. Nos documents sont très divers et comportent aussi bien 1 à 4 rapports, pour 1 à 1000 sections...

En BO 5.1.9, pas de problème particulier, l'export crée un répertoire du nom du document, et un sous-répertoire par rapport, et place les HTML comme il faut avec ExportSheetsAsHtml.

On vient de migrer en XI. Plus de 5.1.9 dispo. C'est pas pareil... Je n'arrive pas à faire fonctionner ExportSheetsAsHtml, j'ai une erreur Cette variable utilise un type automation non géré par VBScript, code 800A01CA. La recherche de ces erreurs dans Google ne m'a pas aidé...

Avec ExportAsHtml et les mêmes paramètres, plus de création de répertoire, il faut préciser le chemin complet, boucler sur les rapports, etc. J'ai réussi mais il génère toujours un fichier supplémentaire qui contient toutes les données, alors que je lui envoie 1 (Génération du Html par section), ça fait exactement comme si on utilisait l'option 2 de HtmlLayout (par section + tout). Problématique en terme de taille pour certains rapports.

On peut donc se poser les questions suivantes :
- qu'est-ce qui cloche dans la fonction ExportSheetsAsHtml en XI ? elle existe toujours ?
- si je veux utiliser ExportAsHtml, pourquoi on dirait qu'il ne prend pas en compte le paramètre HtmlLayout ?
- J'ai remarqué qu'en passant par BO, "enregistrer en fichier HTML", il faisait un CSS bien pratique car il fait fondre la taille des fichiers générés. Pourquoi ExportAsHtml ne le fait pas ? Problème de paramètre ? Ou alors c'est avec ExportSheetsAsHtml ?

Ici le code avec ExportSheetsAsHtml :
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
 
SET AppBO = CreateObject("BusinessObjects.Application")
 
AppBO.Application.Interactive = True  
Call AppBO.Logon(Usrnm, Pswrd, CMS, "Enterprise", False, False)
 
NameFic = "C:\BO\test.rep"
SET boDoc = AppBO.Documents.Open(NameFic)
 
SET VARIABLES = AppBO.VARIABLES
 
AppBO.ActiveDocument.Refresh
 
Graphs = 1
Borders = 1
Background = 1
Foreground = 1
Font = 1
FreeForm = 1
Frames = 0
AutoRefreshTime = 0
BusObjDoc = 0
HtmlLayout = 1
 
AppBO.ActiveDocument.ExportSheetsAsHtml "toto.htm", "", Graphs, Borders, Background, Foreground, Font, FreeForm, Frames, AutoRefreshTime, BusObjDoc, HtmlLayout
 
comportement idem avec Call AppBO.ActiveDocument.ExportSheetsAsHtml("toto.htm", "", Graphs, Borders, Background, Foreground, Font, FreeForm, Frames, AutoRefreshTime, BusObjDoc, HtmlLayout)
 
AppBO.ActiveDocument.Close
AppBO.Quit
Merci d'avance pour vos idées !
SasKa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2008, 21h17   #2
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
Bonsoir,

Citation:
Cette variable utilise un type automation non géré par VBScript, code 800A01CA.
Cette erreur du langage VBS survient lorsque il n'arrive pas à convertir les variables de type numérique. Généralement il faut convertir le type numérique en double ou en float. Malheureusement sous BO on ne peut pas.

Pourquoi n'essaierai tu pas d'utiliser du VBA à la place du VBS?
En VBA, je pense que tu ne rencontrerai pas l'erreur, étant donné que les bibliothèques sont intégrées dans l'application même, le ExportSheetsAsHtml devrait mieux fonctionner.

Le VBA ressemble beaucoup au VBS, la seule différence est que c'est un langage évènementiel.

Rapidement de tête un exemple :

Private Sub Document_AfterRefresh()
Call Export_HTML
End Sub

Sub Export_HTML()
Call ThisDocument.ExportSheetsAsHtml(....)
End Sub

Fais un tour a la FAQ dans la rubrique VBA, je pense que ça pourrait t'aider.
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 10h31   #3
Invité de passage
 
Inscription : août 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 13
Points : 4
Points : 4
Merci.

J'ai lu sur un forum un témoignage qui disait que ça marchait en VBA mais qu'il voulait y arriver en VBS, sans trop de précisions.

De ce que j'en ai compris rapidement, le code VBA est associé au rapport BO (Visual Basic Editor) ? Donc il me faudra répliquer le code VBA autant de fois qu'il y a un nouveau document BO ? ou pas ?

Actuellement l'intérêt de mon VBS est de pouvoir le lancer en ligne de commandes. Et de mettre en paramètre le rapport à rafraîchir, donc 1 script VBS pour X documents. A terme il se lancera régulièrement depuis le planificateur de tâches du serveur.

Est-ce que le VBA peut m'aider dans ce cas ?
SasKa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 10h46   #4
Membre confirmé
 
Avatar de eryk71
 
Inscription : novembre 2007
Messages : 322
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 322
Points : 261
Points : 261
Si tu es sous BO XI, pourquoi tu n'utilises pas le scheduler dans la CMC pour planifier tes rapports?
eryk71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2008, 13h37   #5
Invité de passage
 
Inscription : août 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 13
Points : 4
Points : 4
Je connais pas bien tout BO. Juste le requêteur et le Designer.

J'ai demandé et à priori c'est pas possible d'utiliser le scheduler car on a pas tous les éléments pour le moment, c'est prévu mais on sait pas quand.

C'est pratique hein...

Je vais mettre ça de côté en attendant puisque ça marche avec ExportAsHtml...
SasKa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h04.


 
 
 
 
Partenaires

Hébergement Web