Ouvrir une feuille EXCEL directement depuis un programme PCVUE
-
le 27/10/2016 à 14:56 Citer ce message
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. -
le 27/10/2016 à 15:32 Citer ce message
Bonjour,
Essaies avec ça :
monFichierExcel="C:\\monfichier.xls"; //répertoire du fichier excel
intReturn = APPLICATION("LOAD",monFichierExcel); -
le 30/10/2016 à 05:36 Citer ce message
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. -
le 30/10/2016 à 09:33 Citer ce message
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é -
le 23/11/2016 à 22:54 Citer ce message
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 -
le 04/12/2016 à 04:22 Citer ce message
@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! -
le 04/12/2016 à 20:14 Citer ce message
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