Avatar billede lspn Nybegynder
07. april 2003 - 20:56 Der er 5 kommentarer og
1 løsning

Excel97: Application.Dialogs(xlDialogOpen)

Er der nogen der kan fortælle mig hvordan jeg styre at Application.Dialogs(xlDialogOpen) bliver vist med bestemte ting.

Jeg har forsøgt mig med denne stup kode:
Set App = Application.Dialogs(xlDialogOpen)
With App
    Filename = "*.txt"
    FieldInfo = Array(Array(1, 2), Array(2, 1))
    OtherChar = ">"
App.Show
End With

Lspn
Avatar billede jespernaur Nybegynder
07. april 2003 - 21:00 #1
Inde i 'With' skal der punktum foran hver property:

With App
    .Filename = "*.txt"
    .FieldInfo = Array(Array(1, 2), Array(2, 1))
    .OtherChar = ">"
App.Show
End With
Avatar billede lspn Nybegynder
08. april 2003 - 15:57 #2
Jesper:
Hvis man sætter et punktum foran som du foreslår, sker følende:

"Run-time error '438': Object doesn't support this proberty or method"
Avatar billede jespernaur Nybegynder
08. april 2003 - 17:45 #3
Det er fordi xlDialogOpen ikke understøtter nogen af de felter, du har forsøgt med, men derimod disse (taget fra min engelske Excel97's online help):

xlDialogOpen    file_text, update_links, read_only, format, prot_pwd, write_res_pwd, ignore_rorec, file_origin, custom_delimit, add_logical, editable, file_access, notify_logical, converter

Der er ingen tvivl om, at der skal være punktum foran inden i 'With'.
Avatar billede bak Forsker
08. april 2003 - 17:52 #4
med xlDialogOpen har du ikke mulighed for FieldInfo, med ellers kan du gøre således:

Sub test()
Dim file_text As String, otherch As String
file_text = "*.txt"
otherch = ">"
Application.Dialogs(xlDialogOpen).Show file_text, , , 6, , , , xlWindows, otherch
End Sub
Avatar billede lspn Nybegynder
08. april 2003 - 21:08 #5
Jesper det ser ud som om Bak er enig med dig om dette.
Jeg har testet den stump Bak har skrevet, det virker.
Nu mangler jeg bare at styre hvordan filen bliver åbnet.
Her er et eksempel på hvordan filen ser ud:
CIRCLE 1
<X>    0.051
<Y>    -0.041
<Z>  -154.422
<D>    10.548
<Fo>    0.030
CIRCLE 2
<X>  -29.954
<Y>    -0.029
<Z>  -154.432
<D>    10.543
<Fo>    0.029
Jeg skal kun bruge værdien ud for <D> Punktummet skal opfattes som komma.
Har i nogle ideer?
Avatar billede lspn Nybegynder
15. april 2003 - 11:12 #6
FileToOpen = Application.GetOpenFilename("TXT files (*.txt), *.txt")
    If FileToOpen <> False Then
    Workbooks.OpenText Filename:= _
        FileToOpen, Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=True, OtherChar:=">", FieldInfo:=Array(Array(1, 1 _
        ), Array(2, 1)), DecimalSeparator:=".", ThousandsSeparator:=","
Else
End
End If
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