I searched the forum for a solution to open a folder from a path in a database field.
There was a couple of answer's saying it was not possible or messy.
If anyone is interested here is a workaround, using a field called "Document folder".
txt:
CommonDialogMgmt.OpenFile(Name,"Document Folder"+'.',1,'',0);
Excel:
CommonDialogMgmt.OpenFile(Name,"Document Folder"+'.',2,'',0);
Word:
CommonDialogMgmt.OpenFile(Name,"Document Folder"+'.',1,'',0);
All Files:
CommonDialogMgmt.OpenFile(Name,"Document Folder"+'.',4,'All Files (*.*)|*.*|All Files (*.*)|*.*',0);
What happens is the commom dialog thinks there is a filename because of the added period in the +'.', and nothing comes up in the Filename on the Windows Dialog screen
C:\Temp\.
No special Automation required, it seems to work ok here, just thought I would share this!
David
Analyst Developer with over 17 years Navision, Contract Status - Busy
Mobile: +44(0)7854 842801
Email:
david.cox@adeptris.com
Twitter:
https://twitter.com/Adeptris
Website:
http://www.adeptris.com0
Comments
Have a look at these two topics:
- Select a folder in Navision
- Get a Folder (Not Reg. new DLLs)
Microsoft Dynamics NAV Developer since 1997
MSDynamics.de - German Microsoft Dynamics Community - member of [clip]
Hi Timo
I had already read all the the first link and you concluded that is not possible, as in the last reply of that post.
But reading it again, you was talking about the position in the tree. #-o
The Second link which I did not get up in my search, has a couple of functions to add, with a few lines of code. :!: Messy
My work around requires you just to add + '.' to the file path, and I know that any non modification solution would be best for me and my clients, with no additional cost or upgrade issues.
Any Developer reading this on a budgeted fixed price project, would in most cases use the + '.', unless they had over quoted and had a lot of time to use up, which tends not to be the case, add a field that looks up a folder, would not be quoted to much in the analysis. :shock:
I would not have posted this if I thought that there was a better easy solution, it was posted as when searching I could not find a simple solution, and a small bit of knowledge shared might save someone else some time. =D>
If you can come up with a solution in less that 4 letters, please let me know :-k
I have renamed the thread, adding Simple Solution!
Regards
David
K.I.S.S ](*,)
Mobile: +44(0)7854 842801
Email: david.cox@adeptris.com
Twitter: https://twitter.com/Adeptris
Website: http://www.adeptris.com
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
OpenFolder(WindowTitle : Text[50];HighestFolder : Text[500]) : Text[1024]
IF ISCLEAR(ShellControl) THEN
CREATE(ShellControl);
Folder := ShellControl.BrowseForFolder(0,WindowTitle,0,HighestFolder);
IF NOT ISCLEAR(Folder) THEN
FolderText := Folder.Items().Item.Path;
CLEAR(ShellControl);
EXIT(FolderText);
the variables required are:
Var Name DataType Subtype Length
No WindowTitle Text 50
No HighestFolder Text 500
Name DataType Subtype Length
ShellControl Automation 'Microsoft Shell Controls And Automation'.Shell
Folder Automation 'Microsoft Shell Controls And Automation'.Folder3
FolderText Text 1024
I just found this solution (arcull code). Taht's great, but when I choose desktop I get the message for C/AL programmers that autmation variable has not been instantiated.
I know that my client first click Desktop ikon.