rafraichissement de rapports BO en VBA... - VB/VBA/VBS - Programmation
Marsh Posté le 06-04-2004 à 18:06:41
personne ???
bon, voila, commetn je vois les choses :
étape 1 : suppression des fichiers existants (pdf et exel)
- kill
- ou (plutot je pense...)
Dim FS
Set FS = CreateObject("Scripting.FileSystemObject" )
FS.DeleteFile "c:\useless.txt"
étape 2 : rafraichissement des rapports
- ???
étape 3 : enregistrement des nouveaux rapports (au format PDF et exel...) dans le bons répertoires
- ???
toujours personne ????
Marsh Posté le 06-04-2004 à 18:10:19
à oui..
j'oublais.. je ne veux pas utiliser broadcast agent (pour ceux qui connaissent...)
Marsh Posté le 07-04-2004 à 08:53:19
tjs personne... ???
ou est ce que je pourrai trouver de la doc sur VBA sous BO ????
Marsh Posté le 07-04-2004 à 10:40:01
en clair, ce que je veux faire :
mettre à jour des fichiers exporté à partir de rapports BO.
et cela automatiquement. (pour ne pas avoir à le faire à la main pour les 15/20 rapports que j'ai...)
1 : supprimer un fichier pdf et un fichier excel
2 : ouvrir un rapport BO
3 : le mettre à jour
3 : exporter le rapport au format pdf
4 : exporter le repport au format xls.
donc s'il vous plait... si vous avez quelquechose qui pourrai m'aider... je serais super heureux...
et sinon, je recherche toujours es docs sur VBA pour BO....
Marsh Posté le 07-04-2004 à 18:19:32
bon, j'avance un peu...
j'arrive à exporter au format pdf et xls, c'est pas très compliqué :
ActiveReport.ExportAsPDF (location & ActiveReport.Name & ".pdf" )
ActiveReport.ExportAsExcel (location & ActiveReport.Name & ".xls" )
location est le lien vers le répertoire ou seront enregistré le pdf et le xls;
par contre, je n'arrive psa à trouver comment rafraichir le rapport...
sinon :
chaque rapport aura la macro sur lui...
et un rapport "père" lancera les autres rapports et leurs macro..
dans le style :
Application.Run("nom_rapport.rep"!nom_macro, param1, param2...)
est ce que je suis dans le bon chemin ?????
Marsh Posté le 08-04-2004 à 13:55:59
en fait, pour exporter tout les rapports (onglets) d'un même fichier ".rep", il ne faut pas utiliser Activereport, mais ActiveDocument.
ca marche bien pour exporter en pdf (Export As pdf)
mais la fonction exportAsExcel n'est pas possible... ou du moins je ne l'ai pas trouvée...
est ce que quelqu'un aurait trouvé une solution à mon (mes en fait) problèmes.... ????
PS : j'ai un peu l'impression de ne parler qu'à moi...
Marsh Posté le 09-04-2004 à 14:34:40
finalement, pour le exportAsExcel, je laisse ActiveReport... il faut juste veiller à ce que ce soit le bon onglet qui soit actif.
je parle tjs tout seul !!!!!
personne ne fais des macro VBA sous BO ?????? je suis le seul en france (présent sur le forum...) ?????
Marsh Posté le 12-04-2004 à 21:17:48
Pour le rafraichissement ça ne doit pas être compliqué
as-tu les bonnes bibliothèques: Référencement de la bibliotheque "BusinessObjects 6.1 Object Library"
après tu peux mettre le chemin de ta requête en variable
----------------------------------------------
Private appBO As busobj.Application
Private docBO As busobj.Document
Private repBO As busobj.Report
Function Fct_InitBO_var(byval ReqBO as string )
Set appBO = New busobj.Application
appBO.Interactive = True
appBO.LoginAs "MonLog", "MotdePasse", False
appBO.Visible = True
Set docBO = appBO.Documents.Open(ReqBO)
appBO.Interactive = False
docBO.Refresh
docBO.Close
appBO.Quit
Set docBO = Nothing
Set appBO = Nothing
End Function
Marsh Posté le 13-04-2004 à 10:21:49
ca ne marche pas bien...
je dois mettre les 3 private dans le fonction... et les changer en Dim...
sinon, il gueule..
et encore, ca ne marche tjs pas....
Marsh Posté le 15-04-2004 à 15:06:36
pour le message d'erreur, je ne sais plus... mais finalement, j'ai changer un peu de technique...
ce que je veux :
a voir un rapport BO ("lance.rep" )
dans ce rapport, une macro VBA qui :
- ouvre un rapport ("rep1.rep" )
- lance une requête de "rep1.rep" (cette macro filtre et export en pdf...)
- passe à un autre rapport ("rep2.rep" )
- et ainsi de suite...
des idées ..... ???
Marsh Posté le 16-04-2004 à 09:32:46
je sais pas si on peut inserer une macro VBA dans un rapport BO ...
Tu travailles depuis quel outil ? excel, access, VB... ?
moi ce que j'ai c'est : une base access, avec une formulaire sur lequel il y a un compteur. Tous les dimanches soirs à 20h00, ce compteur lance une macro, dans laquelle j'ai un code pour chacune de mes requêtes BO (parce que je fais des calculs de variables pour les critères de mes requêtes BO).
Voici le code :
Private appBO As busobj.Application
Private docBO As busobj.Document
Private repBO As busobj.Report
Function lancement()
Dim Fi
Fi = "C:\Chemin\NomFichiers.pdf"
Dim Rq
Rq = "C:\Chemin\NomReqêteBO.rep"
Dim Go
Go = Fct_lanceBO(Fi, Rq)
End Function
Function Fct_lanceBO(NomFichier As String, NomReqBO As String)
' ------------ Cherche si fichier .pdf existant + suppr ---------------
Application.FileSearch.FileName = NomFichier
If Application.FileSearch.Execute > 0 Then
Kill "C:\Chemin\NomFichiers.pdf"
End If
' ----------------- ouvre Businessobject ------------------------------
Set appBO = New busobj.Application
appBO.Interactive = True
appBO.LoginAs "MonLog", "MotdePasse", False
appBO.Visible = True
'--------------------- lance requête BO ------------------------------
Set docBO = appBO.Documents.Open(NomReqBO)
appBO.Interactive = False
docBO.Refresh
Set repBO = docBO.Reports.Item(1)
repBO.ExportAsPDF (NomFichier)
'--------------------- ferme BO --------------------------------------
docBO.Close
appBO.Quit
Set docBO = Nothing
Set repBO = Nothing
Set appBO = Nothing
End Function
Si malgrés ça, tu as encore des pbm, n'oublie pas de préciser sur quel outil tu trailles et quel message d'erreur tu as (et où).
Marsh Posté le 16-04-2004 à 11:26:26
Salut.
Je voudrai savoir un truc, comment créer une requete dans une macro créée à l'aide de Visual Basic Editor dans BusinessObjects.
J'ai pas de connaissance en VB .
Je voudrai intégrer la requete suivante :
SELECT result1.network_operator_id,result1.month,result1.product_id, result1.durée1, result2.durée2
FROM (SELECT network_operator_id,last_day(call_date) as month, product_id, sum(duration) as durée1
FROM daily_summary
GROUP BY network_operator_id, last_day(call_date), product_id) result1,
(SELECT feeder_cust_code,last_day(traffic_date) as month, prod_line, sum(unit_count) as durée2
FROM posted_account_entry
GROUP BY feeder_cust_code,last_day(traffic_date) , prod_line) result2
WHERE result1.network_operator_id = result2.feeder_cust_code
AND result1.month=result2.month
AND result1.product_id= result2.prod_line
AND result1.network_operator_id = 'GBBT'
AND result1.product_id= 'IDTF';
Salut
Marsh Posté le 16-04-2004 à 15:16:56
GOOOOO a écrit : Salut. |
je comprends pas ce que tu veux faire...
tu veux lancer cette requette sur ton univers...??? avec VBA... ???
modifier une requette.. et la ramplacer par celle ci ???
Marsh Posté le 16-04-2004 à 17:39:33
Salut.
Ce que je veux c'est récupérer les résultats d'une requête avec la foction @script.
Voilà....
Marsh Posté le 19-04-2004 à 11:14:24
GOOOOO a écrit : Salut. |
désolé, mais je ne sais pas... ou du moins pas pour le moment...
Marsh Posté le 20-04-2004 à 16:12:26
sinon, en réponse à pumpkin0312 >
je bosse directement sous BO
Marsh Posté le 20-04-2004 à 16:57:16
Désolée, ma boite a une version diminuée de BO : sans gestion de VBA ...Je ne sais travailler en VBA avec BO que depuis depuis access.
Marsh Posté le 06-08-2004 à 09:38:44
Enfin, g pu trouver des personnes qui travaillent avec Bo et VB,
Mon problème à moi c que g créé une requête sous BO pour pouvoir générer des rapports de statistique et au niveau da ma clause Where ,mes conditions sont statiques cad que la valeurs de mes variables sont prédéfinies en avance,j'aimerais savoir comment rendre ma requête dynamique en saisissant des valeurs différentes via une IHM faite avec VB??? Aidez moi SVP!!!
Marsh Posté le 10-08-2004 à 10:32:52
http://www.forumtopics.com/busobj/viewforum.php?f=40
tu trouvera ton bonheur ici
Marsh Posté le 06-04-2004 à 16:56:36
bonjour,
je souhaiterais réaliser quelque chose qui me permette d'automatiser les rafraichissements de plusieurs rapports BO (environ 15...)
pour ne pas tout refaire à la main...
et aussi si possible, que chaque rapport s'enregistre en Pdf dans un répertoire...
voila, je vous remerci d'avance...
bonne journée.
PS : j'utilise BO 6.1a
Message édité par petburn le 09-04-2004 à 17:01:55