SoftMaker.de

Deutschsprachiges Diskussionsforum
Aktuelle Zeit: 19.05.2013 15:51:35

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Datei mit fester Breite öffnen
BeitragVerfasst: 26.05.2010 18:00:00 
Offline

Registriert: 09.03.2009 17:32:30
Beiträge: 470
Ich habe eine Datei, die ich gerne mit Basicmaker öffnen möchte. Allerdings liegt sie als eine Textdatei vor, die für die Weiterverarbeitung mit PM die Spalten mit fester Breite öffnen muss. Dies geht schon mit PM, allerdings wollte ich dies in ein BM-Skript packen. Doch bei den Open Methoden fehlt die Option mit fester Breite. Wo finde ich die Definition dazu?

Beispieldatei gezippt:
Dateianhang:
AX.zip [2.68 KiB]
37-mal heruntergeladen


Mfg PeterQ


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei mit fester Breite öffnen
BeitragVerfasst: 26.05.2010 18:13:44 
Offline
SoftMaker Volunteers
SoftMaker Volunteers

Registriert: 23.04.2008 23:02:12
Beiträge: 1461
Ehrlich gesagt verstehe ich die Frage nicht ganz:

1.) Die Datei ist schon mit fester Breite versehen.
2.) PM öffnet diese Datei ohne Probleme.
3.) BM kann selbst Dateien nur auf Low-Level-Basis öffnen, bearbeiten und speichern.

Wo liegt also genau das Problem bzw. was soll genau mit BM und mit PM getan werden?

BM könnte diese Datei z. B. in einen String einlesen, diesen bearbeiten und danach wieder als Datei schreiben. "Spalten", "feste Breiten" usw. kennt BM allerdings nicht, das müsste man schon selbst programmieren.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei mit fester Breite öffnen
BeitragVerfasst: 26.05.2010 19:55:54 
Offline

Registriert: 09.03.2009 17:32:30
Beiträge: 470
Panosis hat geschrieben:
Ehrlich gesagt verstehe ich die Frage nicht ganz:

1.) Die Datei ist schon mit fester Breite versehen.
2.) PM öffnet diese Datei ohne Probleme.
3.) BM kann selbst Dateien nur auf Low-Level-Basis öffnen, bearbeiten und speichern.

Wo liegt also genau das Problem bzw. was soll genau mit BM und mit PM getan werden?

BM könnte diese Datei z. B. in einen String einlesen, diesen bearbeiten und danach wieder als Datei schreiben. "Spalten", "feste Breiten" usw. kennt BM allerdings nicht, das müsste man schon selbst programmieren.

Die Ursprungsdatei hat schon feste Breite für die Spalten. Allerdings wenn ich es mit BM öffnen lasse, dann sind die Inhalte einer Zeile in einer Zelle versammelt und nicht der jeweiligen Spalte zugeordnet. Oder bin ich mit meinem Skript auf dem Holzweg?
Code:
' Mit PlanMaker verbinden; PlanMaker starten, wenn er noch nicht läuft
Set pm = CreateObject("PlanMaker.Application")

' PlanMaker sichtbar machen
pm.Visible = TRUE

' PlanMaker-Programmfenster maximieren
pm.WindowState = pmWindowStateMaximize

' Ein Dokument öffnen
pm.workbooks.Open "C:\Dokumente und Einstellungen\Peter\Eigene Dateien\Temp\ax", empty, pmFormatPlainTextDOS

pm.ActiveWorkbook.SaveAs "C:\Dokumente und Einstellungen\Peter\Eigene Dateien\Temp\ax.pmd"


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei mit fester Breite öffnen
BeitragVerfasst: 28.05.2010 10:18:45 
Offline
SoftMaker Team
SoftMaker Team

Registriert: 09.04.2008 08:50:06
Beiträge: 6299
Wohnort: Nürnberg
PeterQ hat geschrieben:
Doch bei den Open Methoden fehlt die Option mit fester Breite. Wo finde ich die Definition dazu?


Leider gibt es bisher keine derartige Option. Sie können nur versuchen die Datei in BasicMaker zu lesen und die Zellen selbst von BasicMaker aus zu erzeugen.

_________________
Sven Leßmann
SoftMaker Software GmbH


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei mit fester Breite öffnen
BeitragVerfasst: 28.05.2010 18:15:21 
Offline
SoftMaker Volunteers
SoftMaker Volunteers

Registriert: 06.02.2007 14:01:47
Beiträge: 956
Zitat:
Sie können nur versuchen die Datei in BasicMaker zu lesen und die Zellen selbst von BasicMaker aus zu erzeugen.
Dazu ein Vorschlag:
Code:
Dim pm as Object
Set pm = CreateObject("PlanMaker.Application")  ' Verbindung aufbauen
pm.Application.Visible = True

Option Explicit
DIM zeile as integer
DIM textline as string

pm.ActiveSheet.Columns(1).ColumnWidth = 400
pm.ActiveSheet.Columns(2).ColumnWidth = 400
pm.ActiveSheet.Columns(3).ColumnWidth = 400
pm.ActiveSheet.Columns(4).ColumnWidth = 400
pm.ActiveSheet.Columns(5).ColumnWidth = 200

With pm.ActiveSheet.Columns(5)
     .NumberFormatting.Type = pmNumberDecimal
     .NumberFormatting.Digits = 2
     .HorizontalAlignment = pmHAlignRight
End With

Open "C:\Users\xxx\Documents\SMOBM\ax" For Input As #1   ' Datei öffnen

While Not EOF(1)               ' Schleife bis Dateiende

zeile = zeile + 1
Line Input #1, TextLine    ' Zeile aus Datei einlesen
pm.ActiveSheet.Range("A"&zeile).Value=Left(textline,41)
pm.ActiveSheet.Range("B"&zeile).Value=Mid(textline,42,41)
pm.ActiveSheet.Range("C"&zeile).Value=Mid(textline,84,41)
pm.ActiveSheet.Range("D"&zeile).Value=Mid(textline,126,41)
pm.ActiveSheet.Range("E"&zeile).Value=Mid(textline,168,41)

Wend

Close #1                       

Set pm = Nothing ' Verbindung aufheben



Spaltenbreite kannst du nach Geschmack und Erfordernis noch anpassen.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de