Vorbelegung Speicherpfad bei Excel-Ausgabe

Bild Microsoft Dynamics NAV 5.xx

Vorbelegung Speicherpfad bei Excel-Ausgabe

Beitragvon Patriot » 9. April 2008 16:24

Hi Leute,

erstelle eine Excel-Datei aus Navision.
Nun möchte ich wenn ich auf "speichern unter" klicke,
dass mir dieser Pfad im Code vorbelegt wird.

Ist dies möglich??

Vielen Dank
Patriot
 
Beiträge: 35
Registriert: 6. November 2007 10:20

Beitragvon feri » 9. April 2008 16:55

Hi,

ich habe kurz in die Excel Tabelle in Navision geschaut. Beim Workbook kann man mit SaveAs den Pfad angeben. Ob er das allerdings direkt speichert oder das Fenster nochmal aufgeht, konnte ich jetzt nicht pruefen.

Hier gibts noch die Liste mit den
Excel Enumerations.

Gruesse
feri
feri
 
Beiträge: 261
Registriert: 16. März 2006 16:59
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon martinst » 9. April 2008 17:52

Mit SaveAs wird das Dokument ohne Dialog gespeichert.

Gruss
martinst
 
Beiträge: 621
Registriert: 24. August 2005 18:27
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.x, 3.x, 4.x, 5.x, 2009

Beitragvon feri » 10. April 2008 10:44

Hi,

konnte auch keinen Parameter mehr finden, der das steuert. :(

Gruesse
feri
feri
 
Beiträge: 261
Registriert: 16. März 2006 16:59
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Beitragvon 3TageWach » 4. Juni 2008 10:54

Habe eine ähnliche Anforderung, das wenn der Dialog zum Speichern erscheint, ich einen Standardpfad definieren möchte. Bisher auch noch keine Lösung gefunden.
Zuletzt geändert von 3TageWach am 4. Juni 2008 12:28, insgesamt 1-mal geändert.
3TageWach
 
Beiträge: 50
Registriert: 30. Mai 2008 13:40
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.xx

Beitragvon 3TageWach » 4. Juni 2008 12:26

Habs hinbekommen, indem ich die CodeUnit "Common Dialog Management" neu abgespeichert, in der Zeile „CommonDialogControl.InitDir := DefaultFileName;“, das „DefaultFileName“ mit dem "Wunsch"-Pfad ersetzt und die neue CodeUnit entsprechend in die notwendige Stelle (Globals) eingebunden habe.

// jetzt wäre noch zu überlegen ob es möglich ist den Pfad dynamisch durch eine variable anzupassen...

Mal ein praktisches Beispiel zum Verständniss:

Ich habe ein Reklamationsformular (wo alle Reklamationen zum aktuellen Kunden aufgelistet werden), mit einem MenĂĽbutton --> "Zeile" --> "Bild".
Hier erscheint dann eine Tabelle mit den Bildnamen und Bildpfaden die bereits gespeichert wurden. Jeder Kunde hat seinen eigenen Bildordner.
In dieser Tabelle gibt es einen weitere Menübutton mit der Auswahl: speichern, öffnen, löschen.
Wenn man nun auf Speichern klickt, öffnet sich der Windows Dialog wo man das Bild speichern möchte. Schön wäre es wenn der Speicherpfad direkt in den entsprechenden Kundenordner zeigen würde (welcher pro Kunde unterschiedlich ist), damit man sich auch noch die Suche nach dem richtigen Ordner sparen kann.
In der o.g. Stelle der Codeunit steht nun z.B. X:\Reklamation\Bilder, wodurch der Speicherpfad auf den ĂĽbergeordneten Ordner gesetzt ist.
Nun habe ich mir überlegt das ich es vielleicht in etwa so umsetzen könnte:
X:\Reklamation\Bilder\GLOBALEVARIABLE\.

Nun in der CodeUnit "Common Dialog Management" eine Global anlegen und diese im Code so definieren das sie exakt den Namen des Bildordners bekommt... Könnte man ja bestimmt dann auf die Kundennummer beziehen lassen.
3TageWach
 
Beiträge: 50
Registriert: 30. Mai 2008 13:40
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.xx

Re: Vorbelegung Speicherpfad bei Excel-Ausgabe

Beitragvon 3TageWach » 8. August 2008 11:14

*push

Zum Standardspeicherpfad problem scheint es sonst keine schöne Lösung zu geben, oder?
Ich möchte nicht unbedingt für so etwas extra eine Neue Codeunit erzeugen, da wir eh schon einen gewissen engpass im Bereich der verfügbaren Objekte haben.
3TageWach
 
Beiträge: 50
Registriert: 30. Mai 2008 13:40
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.xx

Re: Vorbelegung Speicherpfad bei Excel-Ausgabe

Beitragvon TomTom64 » 8. August 2008 15:44

Hast Du schon mal etwas mit SHELL &

Chdir (Cd) probiert?
Benutzeravatar
TomTom64
 
Beiträge: 61
Registriert: 19. Mai 2006 12:09

Re: Vorbelegung Speicherpfad bei Excel-Ausgabe

Beitragvon 3TageWach » 8. August 2008 16:05

öhm... ne^^

klär mich auf :P
3TageWach
 
Beiträge: 50
Registriert: 30. Mai 2008 13:40
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 5.xx

Re: Vorbelegung Speicherpfad bei Excel-Ausgabe

Beitragvon TomTom64 » 11. August 2008 16:50

Versuche doch mal ein cd ĂĽber den Shell-Befehl abzusetzten. Klappt dies? Wenn ja, hat es eine Auswirkung auf Excel?

SHELL
Use this function to execute external programs and operating system commands from C/AL programs. You can run this function modally or non-modally, depending on whether or not you include the return value from the external program in your code.

[ReturnCode]:= SHELL(Name [, Param, ...])
ReturnCode

Data type: integer

ReturnCode is used for two different purposes:

First, if ReturnCode is used, the external program will be run modally, while it will be run non-modally if ReturnCode is not used. For instance, if you want to go to the operating system and get a directory listing and then bring that information back into the system, include ReturnCode. Omit ReturnCode if you want to run the external program non-modally. For instance, if all you want to do is pass information (such as a name and address) to a standardized letter that is set up in a word processor, you would omit the ReturnCode.

Second, ReturnCode can contain the return value of the external program. Since external programs can return different codes to reflect whether errors occurred during the execution of the program, the values stored in ReturnCode depend on the external program.



Name

Data type: text or code

The path and name of the command. When you enter the path, keep in mind these shortcuts:

You can...
If the command is located...

Omit the drive designation
On the current drive

Omit the full path
In the current directory

Enter only the subdirectory name
In a subdirectory of the current directory


Param,...

Data type: text or code

One or more optional arguments sent with the external program or command. The system treats each parameter as a substring and concatenates all parameters into a single string, separated by spaces, which forms the argument to the command. For example, the system concatenates 'a', 'b', into 'a b'.

To pass multiple parameters to the command, enter the parameters, either as individual arguments or as a string with the arguments separated by spaces. The total length of the strings cannot exceed 128 characters.

Example
Here is an example of how you can use the SHELL function:

SHELL('c:\joe\myprog.exe', 'arg1', 'arg2');

This statement executes a program named myprog.exe in the directory c:\joe. There are two arguments, arg1 and arg2, which are passed to the function. To call the DOS command DIR, you would use this code:

CommandProcessor := 'c:\command.com';
Argument := '/c';
DOSCommand := 'dir';
SHELL(CommandProcessor, Argument, DOSCommand);

Chdir (Cd)Zeigt den Namen des aktuellen Verzeichnisses an oder wechselt den aktuellen Ordner. Wird chdir nur mit einem Laufwerkbuchstaben (beispielsweise chdir C:) verwendet, zeigt es diesen Laufwerkbuchstaben und den Namen des Ordners an, der auf dem Laufwerk der aktuelle Ordner ist. Ohne Parameter zeigt chdir das aktuelle Laufwerk und den aktuellen Ordner an.

Syntax
chdir [[/d] [Laufwerk:][Pfad] [..]] [[/d] [Laufwerk:][Pfad] [..]]

cd [[/d] [Laufwerk:][Pfad] [..]] [[/d] [Laufwerk:][Pfad] [..]]

Parameter
/d
Wechselt das aktuelle Laufwerk oder das aktuelle Verzeichnis fĂĽr ein Laufwerk.
[Laufwerk:][Pfad]
Gibt das Laufwerk (sofern es nicht das aktuelle Laufwerk ist) und das Verzeichnis an, zu dem Sie wechseln möchten.
[..]
Gibt an, dass Sie zum übergeordneten Ordner wechseln möchten.
/?
Zeigt Hilfe an der Eingabeaufforderung an.
Hinweise
Arbeiten mit Befehlserweiterungen
Wenn die Befehlserweiterungen aktiviert sind (dies ist die Standardeinstellung), stimmt der aktuelle Verzeichnispfad genau so mit den Ordnernamen ĂĽberein, wie diese auf der Festplatte angezeigt werden, wobei hinsichtlich GroĂź-/Kleinschreibung dasselbe Ordnernamensformat verwendet wird. Wenn der Ordner auf der Festplatte z. B. den Namen C:\Temp hat, legt CD C:\TEMP das aktuelle Verzeichnis auf C:\Temp fest, um mit dem Ordnernamensformat des Ordners auf der Festplatte ĂĽbereinzustimmen.

Wenn Sie die Befehlserweiterungen für einen bestimmten Vorgang deaktivieren möchten, geben Sie Folgendes ein:

cmd e:off

Wenn Sie die Befehlserweiterungen deaktiviert haben, behandelt chdir Leerzeichen nicht als Trennzeichen. Dies hat zur Folge, dass Sie zu einem Unterverzeichnis, dessen Name ein Leerzeichen enthält, wechseln können, ohne [Pfad] in Anführungszeichen setzen zu müssen. Beispielsweise wechselt der folgende Pfad zum Unterverzeichnis \Gemeinsame Dateien:

cd \Programme\Gemeinsame Dateien

Weitere Informationen zum Aktivieren und Deaktivieren von Befehlserweiterungen finden Sie unter dem Stichwort cmd unter "Verwandte Themen" .

Wechseln zum Stammverzeichnis
Das Stammverzeichnis ist das oberste Verzeichnis in der Hierarchie eines Laufwerkes. Geben Sie Folgendes ein, um zum Stammverzeichnis zurĂĽckzukehren:

cd\

Wechseln des Standardverzeichnisses auf einem Laufwerk von einem anderen Laufwerk aus
Geben Sie einen der folgenden Befehle ein, um das Standardverzeichnis auf einem Laufwerk zu wechseln, das nicht das aktuelle Laufwerk ist:

chdir [Laufwerk:\[Verzeichnis]]

cd [Laufwerk:\[Verzeichnis]]

Geben Sie einen der folgenden Befehle ein, um den Verzeichniswechsel zu ĂĽberprĂĽfen:

chdir [Laufwerk:]

cd [Laufwerk:]

Der Befehl chdir ist (mit verschiedenen Parametern) aus der Wiederherstellungskonsole verfĂĽgbar.
Beispiele
Wenn Sie den Befehl chdir mit einem Laufwerknamen verwenden, zeigt er das aktuelle Verzeichnis dieses Laufwerkes an. Wenn Sie beispielsweise cd c: an der Eingabeaufforderung C:\Temp eingeben, wird Folgendes angezeigt:

C:\Temp

Geben Sie einen der folgenden Befehle ein, um das aktuelle Verzeichnis zum Verzeichnis Berichte zu wechseln:

chdir \berichte

cd \berichte

Geben Sie Folgendes ein, um das aktuelle Verzeichnis zum Unterverzeichnis \Spezial\Sponsoren zu wechseln:

cd \spezial\sponsoren

Geben Sie folgenden Befehl ein, um zum Unterverzeichnis \Spezial\Sponsoren zu wechseln, wenn \Spezial das aktuelle Verzeichnis ist:

cd sponsoren

Geben Sie Folgendes ein, um von einem Unterverzeichnis zu dessen ĂĽbergeordnetem Verzeichnis zu wechseln:

cd ..

Verwenden Sie chdir bzw. cd ohne Parameter, um den Namen des aktuellen Verzeichnisses anzuzeigen. Wenn das aktuelle Verzeichnis beispielsweise Benutzer\Keller auf Laufwerk B: ist, wird nach dem Eingeben von chdir Folgendes angezeigt:

B:\Benutzer\Keller

Geben Sie die folgenden Befehle ein, um alle Dateien in den Verzeichnissen \Benutzer\Keller und \Benutzer\Meier auf Laufwerk C: in das Stammverzeichnis von Laufwerk D: zu kopieren:

chdir c:\benutzer\keller

copy c:*.* d:\

chdir c:\benutzer\meier

copy c:*.* d:\

Geben Sie Folgendes ein, um alle Dateien in den Verzeichnissen \Benutzer\Keller und \Benutzer\Meier auf Laufwerk C: in das aktuelle Verzeichnis auf Laufwerk D: zu kopieren:

chdir c:\benutzer\keller

copy c:*.* d:

chdir c:\benutzer\meier

copy c:*.* d:

Formatting legend
Format Meaning
Italic Information that the user must supply
Bold Elements that the user must type exactly as shown
Ellipsis (...) Parameter that can be repeated several times in a command line
Between brackets ([]) Optional items
Between braces ({}); choices separated by pipe (|). Example: {even|odd} Set of choices from which the user must choose only one
Courier font Code or program output
Benutzeravatar
TomTom64
 
Beiträge: 61
Registriert: 19. Mai 2006 12:09


ZurĂĽck zu NAV 5.xx

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Bot, Unbekannter Crawler, Unbekannter Robot und 2 Gäste