Avatar billede shjdsi Nybegynder
19. december 2000 - 22:36 Der er 10 kommentarer og
1 løsning

comdlg32.dll eller api commondialog spørgsmål.

Jeg er ved at udvikle et kunde tilpasset office system i VBA hvilket stadig er temmeligt nyt for mig (uha alle de objekter) I den forbindelse er der en lille ting.
Hvis jeg skal lave en procedure der indsætter et subdocument skal jeg anvende AddFromFile Name:=\"c:\\word.doc\" metoden. For at gøre det nemmere for brugeren ville jeg jo gerne kunne vise en commondialog fileopen.
Findes commondialog obnjektet som standard i windows2000 eller kan jeg anvende et api til formålet. Hvad ville en proof vb\'er gøre.

Hvis API gerne link til source.
Avatar billede stigc Nybegynder
19. december 2000 - 22:44 #1
kan du bugre følgende:


    Private Sub cmdTest_Click()
      \' Create a simple File|Open dialog and return the
      \' file name selected
      Dim FileDialog As CFileDialog
      Set FileDialog = New CFileDialog
      With FileDialog
        .DefaultExt = \"txt\"
        .DialogTitle = \"VB SourceBook Example File Open\"
        .Filter = \"Text files (*.txt)|*.txt|All Files (*.*)|*.*\"
        .FilterIndex = 0
        .Flags = FleFileMustExist???????????
        .hWndParent = Me.hWnd
        .MaxFileSize = 255
        If .Show(True) Then
          MsgBox \"File selected: \" & .FileName & vbCrLf & _
            \"File name only: \" & .FileTitle
        Else
          MsgBox \"User cancelled\"
        End If
      End With
    End Sub
Avatar billede driis Nybegynder
19. december 2000 - 22:53 #2
Hvis du vil bruge et API kald:

http://www.vbapi.com/ref/g/getopenfilename.html

Det skulle være ret nemt at gennemskue og rette til til eget brug. Men stigc\'s forslag er nok nemmest at bruge; men jeg er ikke 100% (kun 95 ;-) sikker på, at stigc\'s forslag virker i Word.
Avatar billede cktarget Nybegynder
20. december 2000 - 08:56 #3
Jeg er nu ret sikker på at stigc\'s forslag kræver at man sætter nogle referencer inden i sin vba editor!!

kedde
Avatar billede shjdsi Nybegynder
21. december 2000 - 09:27 #4
Stigc >>> Det ville ikke virke i word, Den kunne finde typen CFileDialog, Det er nok et eller andet med en reference som cktarket er inde på. Da det jeg ville bruge den til iførste omgang var at indsætte subdocuments ind i et master document lavede jeg jeg denne løsning:
  If ActiveWindow.ActivePane.View.Type <> wdMasterView Then
     
            ActiveWindow.ActivePane.View.Type = wdMasterView
    End If
      With Dialogs(wdDialogInsertSubdocument)
             
              .Show
      End With

Men jeg vil nu alligevel lige checke det link ud med API kaldet til openfile.

VBA i word har iøvrigt et hav af disse dialogs man kan bruge.

Avatar billede driis Nybegynder
22. december 2000 - 19:38 #5
Hvis du har problemer med at bruge API kaldet, skal du bare sige til.
Avatar billede shjdsi Nybegynder
19. januar 2001 - 07:55 #6
driis

Jeg vil gerne give dig point hvis du lige vil ligge et svar ind på SPG-


Simon
Avatar billede shjdsi Nybegynder
15. marts 2001 - 12:58 #7
da driis ikke har lagt svar ind kan jeg ikke give ham point!
Avatar billede driis Nybegynder
15. marts 2001 - 23:37 #8
Jeg lægger lige et svar, så
Avatar billede driis Nybegynder
15. marts 2001 - 23:38 #9
;-)
Avatar billede shjdsi Nybegynder
16. marts 2001 - 09:25 #10
endelig :-)

Avatar billede driis Nybegynder
16. marts 2001 - 14:57 #11
... jeg har ikke haft tid til at være meget på Eksperten på det seneste, så jeg havde ikke lige set, at der var én der ville give mig point ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester