Fio banner fr 1 1

Formation automatisme en ligne 3

Ouvrir une feuille EXCEL directement depuis un programme PCVUE

# 27/10/2016 à 14:56 gishrek

Bonjour à tous.
Je me permet de publier après de multiple recherche sur le net.
Dans le cadre d'un rapport journalier de compteur, je dois écrire un programme sous PCVUE qui extrait les données en csv ( cette partie fonctionne), ensuite grâce à une macro EXCEL faire une présentation de ce rapport en fonction d'un exemple(cette partie fonctionne également). Le but de ma demande est de faire en sorte que PCVUE ouvre tout simplement le fichier EXCEL qui lui effectura la macro à l'ouverture. j'aurais besoin de la ligne de code qui va bien pour pouvoir ouvrir le fichier EXCEL depuis le programme PCVUE. Je pensais à un fopen() mais je ne connais pas très bien la programmation VB sous PCVUE.
Merci d'avance.

# 27/10/2016 à 15:32 automationsense

Bonjour,
Essaies avec ça :

monFichierExcel="C:\\monfichier.xls"; //répertoire du fichier excel

intReturn = APPLICATION("LOAD",monFichierExcel);

Cordialement,
Image

Je suis ingénieur en automatisme et informatique industrielle,je m'intéresse fortement aux sujets relatifs aux automates programmables industriels,au contrôle-commande industriel,au machine to machine et à l'IoT.

S'inscrire à la formation TIA Portal : http://www.automation-sense.com/blog/nos-formations/lancement-formation-en-ligne-tia-portal.html


Citation préférée : "Le savoir est ton pouvoir"
# 30/10/2016 à 05:36 Kaniass

Oui mais attention le problème c'est de savoir quand l'export sera finit.
Je conseille d'utiliser la variable registre de status de l'export et de la mettre en événement pour déclencher le programme scada basic. Si l'export s'est bien passé elle doit être égale a 0.

# 30/10/2016 à 09:33 automationsense

Bonjour Kaniass,
Il parvient déjà à exporter les données sur fichier CSV,ce qu'il veut maintenant c'est de pouvoir l'ouvrir depuis PCVUE.Merci de ta remarque.

@gishrek ,dis nous ce que ça a donné de ton coté

Cordialement,
Image

Je suis ingénieur en automatisme et informatique industrielle,je m'intéresse fortement aux sujets relatifs aux automates programmables industriels,au contrôle-commande industriel,au machine to machine et à l'IoT.

S'inscrire à la formation TIA Portal : http://www.automation-sense.com/blog/nos-formations/lancement-formation-en-ligne-tia-portal.html


Citation préférée : "Le savoir est ton pouvoir"
# 23/11/2016 à 22:54 automatique72

bonjour
voici un exemple de programme issue de la démo pcvue.
tu trouvera tous qu'il faut pour formaté une feuille excel et l’ouvrir depuis pcvue.
par contre il faut l'adapter par rapport a ton projet.
si tu travail avec une version 11.1 et plus dans la macro trend il y'a un bouton qui s'appelle "excel" et avec ça tu peut faire des extraction excel et générer des rapport.

Private Sub StartExcel_Click()

Dim MyXl As Object
Dim MyWorkBook As Object
Dim MyTable As Object
Dim FileCsvName As String
Dim FileXlsName As String

On Error GoTo TrapError

'Open csv file
FileCsvName = ThisProject.Path & "\TP\" & [EXTRACT.NOMFIC]
'Set FileSource = fs.OpenTextFile(FileCsvName, 1, 0)
' Target EXCEL file
FileXlsName = ThisProject.Path & "\TP\" & "Export_" & Format(Date, "mmmddyyyy") & "_" & Format(Time, "hhmmss") & ".xls"

'Start Xls
Set MyXl = CreateObject("Excel.Application")

'Create a new Workbook
Set MyWorkBook = MyXl.Workbooks.Add
MyWorkBook.Title = Format(Date, "mmmddyyyy") & "_" & Format(Time, "hhmmss")
MyWorkBook.SaveAs FileName:=FileXlsName
MyXl.Visible = True

' Fill the active worksheet with the text file (comma separated)
Set MyTable = MyXl.ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileCsvName, Destination:=MyXl.ActiveSheet.Range("A1"))
MyTable.Name = "tab-file"
MyTable.FieldNames = True
MyTable.RowNumbers = False
MyTable.FillAdjacentFormulas = False
MyTable.PreserveFormatting = True
MyTable.RefreshOnFileOpen = False
MyTable.RefreshStyle = 1 'xlInsertDeleteCells
MyTable.SavePassword = False
MyTable.SaveData = True
MyTable.AdjustColumnWidth = True
MyTable.RefreshPeriod = 0
MyTable.TextFilePromptOnRefresh = False
MyTable.TextFilePlatform = 437
MyTable.TextFileStartRow = 1
MyTable.TextFileParseType = 1 'xlDelimited
MyTable.TextFileTextQualifier = 1 ' xlTextQualifierDoubleQuote
MyTable.TextFileConsecutiveDelimiter = False
MyTable.TextFileTabDelimiter = False
MyTable.TextFileSemicolonDelimiter = False
MyTable.TextFileCommaDelimiter = True
MyTable.TextFileSpaceDelimiter = False
MyTable.TextFileColumnDataTypes = Array(1, 1)
MyTable.TextFileTrailingMinusNumbers = True
MyTable.Refresh BackgroundQuery:=False

' Display Excel
MyXl.Visible = True

Set MyXl = Nothing
Set MyWorkBook = Nothing

Exit Sub

TrapError:
MsgBox "Error: Application cannot starts Excel"
'MyWorkBook.Close
Set MyXl = Nothing
Set MyWorkBook = Nothing

End Sub

# 04/12/2016 à 04:22 Kaniass

@automationsense
Oui, j' ai bien compris. Je voulais juste mettre en lumiere le fait que, si on veut ouvrir automatiquement un fichier Excel a la fin d'1 export alors il faut utiliser la variable de Status car c' est une operation asynchrone.

@automatique72
Ce code est bien pour voir comment manipuler des objets Excel depuis le VBA mais, attention, dans le cadre d' 1 export mieux vaut utiliser la notion de Modele d'export. Ca permet de faire un fichier Exel deja tout pret pour recevoir les donnees d' Export.

@gishrek
Il serait effectivement sympa de dire si ton probleme est resolu!

# 04/12/2016 à 20:14 AUTOMATIQUE72

bonjour,
merci @automationsense pour tes remarques.
oui, le code que j'ai met si juste pour montrer comment manipuler un objet excel via VBA et de connaitre aussi qlq verbe clés pour cet objet(EXCEL).c'est pourquoi j'ai dit que depuis la 11.1 un objet extraction ou export est inclus dans la macro trend.
sachant que cette option d'export elle est payante (activer dans le dongle pcvue)..

@gishrek
on attend tj ton retour pour ton problème.

Répondre à ce message

Code incorrect ! Essayez à nouveau

 

Cliquez ici pour s'inscrire à la formation TIA Portal

Its plc profesionnal edition 1