Toon posts:

[VBA] Via visualbasic Excel Marco uitvoeren *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand of het mogelijk is om via Visual Basic een Excel Marco uit te voeren.
Ik bedoel dan niet de visual basic die binnen Excel zit.
Ik heb een programmatje gemaakt die een datalogger uitleest.
De output van het programmatje wordt in een textfile (output.txt) gezet.
Inhoud van het textfiletje kan als volgt zijn:
345344,20,28,1,1
348900,25,28,2,2

Nu wil ik graag nog een extra button aan het VB programmatje toevoegen zodat automatisch het output.txt bestand wordt geopend in Excel.
Dat gaat zonder problemen via onderstaande code:

Private Sub Command2_Click()
Set Excel = CreateObject("Excel.Application")
Excel.Visible = True
Excel.Workbooks.OpenText FileName:="C:\Output.txt"
End Sub


Nu wil ik ook dat de volgende zaken automatisch geregeld worden: de "," als scheidingsteken gebruiken (zodat alle waarden appart over de cellen worden verdeeld) en dat het bestand opgeslagen wordt als ExcelOutput.xls.

Om dit te bereiken heb ik deze handelingen binnen Excel uitgevoerd en hier een Marco van gemaakt.
Via de VB editor heb ik de Marco gekopieerd en de code toegevoegd aan mijn eigen VB programma.

Dit ziet er als volgt uit:

Private Sub Command2_Click()
Set Excel = CreateObject("Excel.Application")
Excel.Visible = True
Excel.Workbooks.OpenText FileName:="C:\Output.txt", Origin:=437, StartRow:=1, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
:=False, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, _
Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), _
Array(5, 1)), TrailingMinusNumbers:=True
ActiveWorkbook.SaveAs FileName:="C:\Output Excel.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub

Alleen wanneer ik deze actie ga uitvoeren dan krijg ik de volgende foutmelding nadat Excel geopend is, maar niet het textbestand: Run-time error '1004':
Methode OpenText van klasse Workbooks is mislukt.

Iemand enig idee wat ik fout doe ?

Verwijderd

Gezien het feit dat je een CreateObject gebruikt, maak ik uit je code op dat je geen referentie naar de Office library hebt gemaakt in je VB applicatie. Ik denk daarom dat je opentext stops op de waarden "xlDelimited" en "xlDoubleQuote", omdat deze constanten niet bekend zijn.