Daten aus txt in Excel Vorlage und dann wieder in txt
Es geht darum, dass ich eine TXT Datei habe und diese Daten in einer Excelvorlage eingegeben werden und am Ende das Ergebniss ausgegeben wird.
Hallo,
und zwar sitz ich vor folgendem Problem. Ich habe Eine Excelvorlage (*.xlt) welche für diverse Kabel verschieden Ströme berechnet. Also ich gebe in 2-4 Zellen Werte ein und dann gibt mir das die Vorlage wieder in versxchieden Zellen verschiedene Werte aus.
Nun geht es darum, dass der Ablauf automatisiert werden soll. Das Script soll von einer TXT Datei, wo die Daten wie folgt vorliegen;
Zahl;Zahl;Kabeltyp
Zahl;Zahl;Kabeltyp
die Werte in die xlt eintragen und dann die berechneten Werte wieder in eine Neue TXT ausgeben.
Als Ansatz habe ich zb das hier bei euch gefunden;
Das Problem ist, dass das Script eine neue Mappe anlegt. Am besten wäre, wenn das Programm das Excel dann auch automatisch öffnet und schließt. Dass es dann wie in dem folgenenden Abläuft;
Falls ihr ein paar Anregungen habt, würde ich mich darüber freuen.
und zwar sitz ich vor folgendem Problem. Ich habe Eine Excelvorlage (*.xlt) welche für diverse Kabel verschieden Ströme berechnet. Also ich gebe in 2-4 Zellen Werte ein und dann gibt mir das die Vorlage wieder in versxchieden Zellen verschiedene Werte aus.
Nun geht es darum, dass der Ablauf automatisiert werden soll. Das Script soll von einer TXT Datei, wo die Daten wie folgt vorliegen;
Zahl;Zahl;Kabeltyp
Zahl;Zahl;Kabeltyp
die Werte in die xlt eintragen und dann die berechneten Werte wieder in eine Neue TXT ausgeben.
Als Ansatz habe ich zb das hier bei euch gefunden;
Sub Import()
sTxtPath = "c:\Datei.txt" 'Textdatei mit vollständigem Pfad
iRow = 1 'Startzeile
iOffset = 5 'Zeilenabstand
sDelim = vbTab 'Trennzeichen
Set fso = CreateObject("Scripting.FileSystemObject")
Set wbNew = Workbooks.Add
With wbNew.Worksheets(1)
Set oInFile = fso.OpenTextFile(sTxtPath, 1)
Do While Not oInFile.AtEndOfStream
aLine = Split(oInFile.ReadLine, sDelim)
.Range(.Cells(iRow, 1), .Cells(iRow, UBound(aLine) + 1)) = aLine
iRow = iRow + iOffset
Loop
.Activate
End With
End Sub
Das Problem ist, dass das Script eine neue Mappe anlegt. Am besten wäre, wenn das Programm das Excel dann auch automatisch öffnet und schließt. Dass es dann wie in dem folgenenden Abläuft;
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ex As New Excel.Application
ex.Visible = True
'Vorlage oeffnen
ex.Workbooks.Open("C:\temp\test.xls")
ex.ActiveWorkbook.ActiveSheet.Range("G14").Value = "77"
ex.ActiveWorkbook.ActiveSheet.Range("G15").Value = "77"
ex.ActiveWorkbook.ActiveSheet.Range("H15").Value = "NAYY"
'"Änderungen-speichern" Dialog unterdrücken
ex.ActiveWorkbook.Saved = True
'alternativ speichern...
ex.ActiveWorkbook.Save()
ex.ActiveWorkbook.Close()
ex.Quit()
End Sub
End Class
Falls ihr ein paar Anregungen habt, würde ich mich darüber freuen.
Please also mark the comments that contributed to the solution of the article
Content-Key: 124377
Url: https://administrator.de/contentid/124377
Printed on: April 19, 2024 at 22:04 o'clock
2 Comments
Latest comment
Hallo derdanielder!
Du könntest das mit den Berechnungen mal etwas genauer erläutern.
In welchen Zellen gibst Du was ein?
In welchen Zellen wird was berechnet?
Wie soll die Ausgabe-Textdatei aussehen?
Gruß Dieter
Du könntest das mit den Berechnungen mal etwas genauer erläutern.
In welchen Zellen gibst Du was ein?
In welchen Zellen wird was berechnet?
Wie soll die Ausgabe-Textdatei aussehen?
Gruß Dieter