Adressierung der Excel-Zellen mit Cells

12. Oktober 2006 12:32

Hallo zusammmen,

ich exportiere Daten von Navision über Automation nach Excel.

Bisher habe ich dafür normalterweise folgende Befehle bentutzt:

Sheet.Range('H' + i1).Value := FORMAT(DebSaldoFälligMW[7]);
Sheet.Range('H'+i1).Font.Bold := 1;
Sheet.Range('H'+i1).Font.Size := 11;
Sheet.Range('H'+i1).Interior.ColorIndex := 22;

Wenn man jetzt vorne eine neue Spalte einfügen wollte, mußte man fast den gesamten Report ändern . Aus diesem Grunde habe ich es jetzt mal mit Cells.item probiert. Das klappt prima, aber wie muss ich jetzt meine Formatierung addressieren ?

Sheet.Cells.Item(i,Column,"Nr."); //OK

Sheet.cells.Font.Bold := 1; // Dieser Befehl macht leider alles fett

VB Hilfe Beispiel
In diesem Beispiel wird die Schriftgröße der Zelle C5 in Sheet1 auf 14 Punkt festgelegt.

Worksheets("Sheet1").Cells(5, 3).Font.Size = 14

Wie muß obiger Befehl in Navision-Automation lauten?

Cells/Range Object in Excel

24. Oktober 2006 12:01

Hallo,

das Excel Cell-Object kann nicht alles was das Range-Object kann
( unterschiedliche Properties/Methoden )

Ich löse das Problem so:

xlRange := xlWorksheet.Cells.Item( iLine, iCol ) ;
xlRange.Font.Bold := 1 ;
xlRange.NumberFormat( '#.##0,00' )
...

PS.: Ich schreibe keine Reports/Cu mehr, sondern exportiere/importiere
die Excel Daten über frei definierbare Export-Layouts (Data-Driven)

Re: Cells/Range Object in Excel

24. Oktober 2006 12:20

Ingo Roth hat geschrieben:PS.: Ich schreibe keine Reports/Cu mehr, sondern exportiere/importiere die Excel Daten über frei definierbare Export-Layouts (Data-Driven)


Ist Data-Driven eine Zusatzsoftware? Könntest du mir bitte ein paar Angaben dazu machen wo ich mehr Informationen dazu finden kann?

Data-Driven Excel Export/Import

24. Oktober 2006 12:53

Hallo,

diese Funktionalität habe ich selber programmiert.

In ähnlicher Weise wird so etwas beim GDPdU-Export bei MBS benutzt.
Hier eine kurze Funktionsbeschreibung.

1. Es gibt zwei Tabellen. ( Muster s. Anlage Beispiel Zahlungsbedingung)

Excel Layout Definitionen
- Excel Layout Spalten

2. Zwei CU jeweils für Export/Import

Für den Export/Import sind dann nur noch die Deklarationen und ein paar Zeilen Code notwendig.

Beispiel Code:

tView := '' ;
// recPaymentTerms.SETRANGE( Code, '10*' ) ;
// tView := recPaymentTerms.GETVIEW() ;
SetUpExportExcelDefinitions( 'TEST', tView ) ;

Aktuell gibt es eine Beta-Version, die bei uns schon Produktiv
eingesetzt wird.

Bei Interesse würde ich den Code auch veröfentlichen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

24. Oktober 2006 13:00

Hallo Ingo,

Danke für deine Erklärungen. Das, was ich hier sehe, gefällt mir sehr gut. Ich hätte auf jeden Fall grosses Interesse am Code :-D

24. Oktober 2006 14:05

Ich denke, dass da wohl mehr Leute dran interessiert sind.
Wär schön, wenn Du das hier im Downloadbereich zur Verfügung stellen könntest.

26. Oktober 2006 13:11

Hallo Zusammen,

würde ich ja in den Download Bereich stellen,
aber der Zip-File 97KB ist zu groß !!??

26. Oktober 2006 13:41

Das finde ich seltsam. Ich leite das Problem mal an den Administrator weiter. Vielleicht gibt es da eine Begrenzung.

26. Oktober 2006 18:21

Der Downloadbereich hat kein Upload-Limit eingestellt, somit greift die Serverbeschränkung, welche allerdings eher von der Scriptlaufzeit begrenzt wird als vom Upload-Limit.
Das Dateiformat ist auch kein Problem, da ZIP-Dateien zugelassen sind.

Wie lautet denn die korrekte Fehlermeldung?

Alternativ kannst du die Datei auch hier als Antwort an dieses Thema hängen, allerdings nur bis 2 MB.
Ich würde dann versuchen, die Datei von hier aus in das Download-Center hochzuladen.

27. Oktober 2006 11:13

Hallo Timo,

Ich habe es heute nochmals vergeblich versucht.

Hier hänge ich erst mal die Fehlermeldung und meine
Upload-Beschreibung an.
In der nächsten hänge ich dann die Module und Beschreibungen an.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

27. Oktober 2006 11:14

Hier jetzt die Module als Zip-File für den Download-Bereich.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

27. Oktober 2006 12:03

Ich konnte die Datei problemlos hochladen.
Werde mich heute abend auf die Suche nach der Ursache machen.

Hier der Link zum Download: http://www.msdynamics.de/dload.php?acti ... file_id=70

Re: Adressierung der Excel-Zellen mit Cells

6. Februar 2009 14:35

Ist es auch möglich die Schriftart zu ändern?

Re: Adressierung der Excel-Zellen mit Cells

6. Februar 2009 15:05

Eine Einstellung zur Schriftart/Schriftgrösse ist bei der aktuellen Version nicht implementiert.
Möglich sind hier nur Fett/Kursiv/Unterstrichen.

Re: Adressierung der Excel-Zellen mit Cells

6. Februar 2009 15:17

Danke für die schnelle Antwort.
Das Anpassen der Schriftgröße ist definitiv möglich. Ich habe es wie folgt gelöst:
Code:
Sheet.Range('A1:A5')Font.Size := '10';
Sheet.Range('B1:B5').Font.Size := '6';


EDIT:
Nach langem rumprobieren, der Vollständigkeit halberm, noch das Anpassen der Schriftart:

Code:
//Schriftart
Sheet.Range('A1:B5').Font.Name := 'Tahoma';
Zuletzt geändert von lape am 6. Februar 2009 16:24, insgesamt 2-mal geändert.

Re: Adressierung der Excel-Zellen mit Cells

6. Februar 2009 15:56

Werde dies in der nächsten Version als Neuerung mit aufnehmen.
Geplant ist auch die Hintergrundfarbe zu setzen.
Update in ca. ein bis zwei Wochen.