Enregistrer un fichier dans un programme integrant VB6

BillRussell Messages postés 7 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 17 avril 2015 - 27 avril 2012 à 15:31
BillRussell Messages postés 7 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 17 avril 2015 - 3 mai 2012 à 13:56
Bonjour,

Je fais des mesures acoustiques grâce au logiciel PULSE (Bruel & Kjaer), ce logiciel est ancien et intègre VB6. Je souhaite enregistrer automatiquement à la fin de l'acquisition les données d'une courbe dans un fichier sur le disque.

Un clic-droit sur le graphique > Save Curve est possible mais je cherche à automatiser cette commande.
C'est assez important dans mon projet, pouvez-vous me donner vos idées ?


Niveau en VB6 : débutant
OS : XP Pro
Microsoft Office 2010



Le monde a commencé sans l'homme, il finira sans lui..

8 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
27 avril 2012 à 15:46
Bonjour,

Je ne connais pas ce logiciel, mais je pense qu'il est plutot livré avec VBA (comme le pack office ou d'autres logiciels) et non vb6..

As-tu un onglet outils/macro ?


L'expérience, c'est une connerie par jour, mais jamais la même..
0
BillRussell Messages postés 7 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 17 avril 2015
27 avril 2012 à 15:55
Oui pardon c'est bien VBA, j'ai bien l'onglet Tools > Macro
J'ouvre donc Visual Basic (VBA) et j'arrive dans une interface ou il y deux principaux titres du TreeView : Application (Pulse.ost) et Project

Le soucis que j'ai c'est que je n'arrive pas à appeler les différentes mesures qui doivent être contenues dans "Application". Comment sont elles nommées ?, etc...
Le code pour enregistrer ces mesures sur le disque est introuvable..




Le monde a commencé sans l'homme, il finira sans lui..
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
27 avril 2012 à 16:14
En vba excel ou word tu as ceci pour sauvegarder un document ou classeur ouvert:

ActiveDocument.SaveAs Filename:="Doc1.doc", FileFormat:=wdFormatDocument

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.AlertBeforeOverwriting = False
    ActiveWorkbook.Save
End Sub


Cela doit sensiblement être la même chose avec ton logiciel, mais ne le connaissant pas je crains de ne pouvoir t'aider plus que ça.

L'expérience, c'est une connerie par jour, mais jamais la même..
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
30 avril 2012 à 16:04
Re,

Sinon essayes de voir le code que te génère l'enregistreur de macro, si ton problème n'est toujours pas résolu.


L'expérience, c'est une connerie par jour, mais jamais la même..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BillRussell Messages postés 7 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 17 avril 2015
2 mai 2012 à 08:57
Re,

Je te décris l'arborescence que j'ai :

Application(Pulse.ost)
> PulseLabShop Objects
>> This Application

Quand je double-clique sur This Application, j'ai :

Code VBScript
Private Sub Application_Notify(ByVal NotifierObject As Object, ByVal Notification As Long)

End Sub

Ne connaissant pas la signification de la commande "Application Notify" je ne sais pas quoi faire avec, si je la supprime ou non..

Et je n'ai pas d'enregistreur de macro sur ce VBA, tu crois que le code sera le même si je regarde le code généré sur excel ?

(Merci de m'aider =) )

Le monde a commencé sans l'homme, il finira sans lui..
0
BillRussell Messages postés 7 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 17 avril 2015
2 mai 2012 à 09:23
Re,

NB:
J'ai essayé de transposer le code généré par excel mais l’enregistrement concerne tout le document. Le but de ma programmation c'est d'enregistrer chaque courbe sous format .txt alors que le document en lui même d'acquisition est sous format .pls

L’enregistrement de chaque courbe se fait manuellement en sélectionnant une courbe et d'aller dans le menu contextuel et de faire Save Current Courb



Le monde a commencé sans l'homme, il finira sans lui..
0
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
2 mai 2012 à 15:59
ça m'étonne que tu ne puisses pas enregistrer les actions manuelles faites, il ne te resterait plus qu'à modifier les lignes à ta convenance.

Dans l'onglet Macros, tu n'as pas un bouton Macro, qui lance un pop-up "enregistrer une macro"?

Si tu tapes "application." dans VB, tu devrias avoir une liste des méthodes ou objets à ta disposition..

L'expérience, c'est une connerie par jour, mais jamais la même..
0
BillRussell Messages postés 7 Date d'inscription vendredi 27 avril 2012 Statut Membre Dernière intervention 17 avril 2015
3 mai 2012 à 13:56
Malheureusement je n'ai aucun moyen d'enregistrer les actions effectuées, l'onglet Macro propose 4 propositions =
[list]
Run Macro..
Application Macro > (grisé)
Project Macro > (grisé)
Visual Basic
/list

Je peux lancer les macros crées à partir de Run Macros mais elles n'apparaissent pas dans les deux suivants (Application & Project Macro)

Lorsque je tape Application. , effectivement j'ai beaucoup de functions qui me sont proposées (Start, Stop,..), elles m'interessent mais à part les insérer comme cela :
Sub Start()
End Sub


Je ne vois pas ce que je peux faire de plus, (je débute en C++ et VBA...)


Le monde a commencé sans l'homme, il finira sans lui..
0
Rejoignez-nous