loydjoha Skrevet 2. mai 2006 Skrevet 2. mai 2006 (endret) Hei! Kan noen hjelpe meg med en kommando som åpner et Word dokument ut fra hvilket valg som er gjort i en ComboBox (se koden under). Private Sub Display_Open() ComboBox1.List = Array("Rutiner", "Info", "Tips") End Sub Private Sub ComboBox1_Change() If ComboBox1.Value = "Rutiner" Then ??Komando for åpning av følgende fil?? ("O:\Word\Doc\Rutiner.doc") If ComboBox1.Value = "Info" Then ??Komando for åpning av følgende fil?? ("O:\Word\Doc\Info.doc") If ComboBox1.Value = "Tips" Then ??Komando for åpning av følgende fil?? ("O:\Word\Doc\Tips.doc") End If End Sub Endret 2. mai 2006 av loydjoha
ze5400 Skrevet 2. mai 2006 Skrevet 2. mai 2006 Shal du åpne den i word? Eller i programmet ditt?? Hvis du skal åpne den i word trur e det skal gå med f.eks. Shell("O:\Word\Doc\Tips.doc") Ihvertfall i VB.NET
loydjoha Skrevet 2. mai 2006 Forfatter Skrevet 2. mai 2006 Shal du åpne den i word? Eller i programmet ditt?? Hvis du skal åpne den i word trur e det skal gå med f.eks. Shell("O:\Word\Doc\Tips.doc") Ihvertfall i VB.NET 6026742[/snapback] Koden skal kjøres i et program som heter PI Processbook, men dokumentet skal åpnes i Word. Prøvde å kjøre koden men fikk da følgende melding fra debugger (VB 6.3): Invalid procedure call or argument
backup Skrevet 2. mai 2006 Skrevet 2. mai 2006 I vb 6, sett en OLE kontroll på formen og følgende sub henter inn word dkument i OLE kontrollen problemet: Sub hentWordDok(fil As String) OLE1.SourceDoc = fil OLE1.CreateLink (fil) OLE1.AutoActivate = 2 OLE1.Visible = True End Sub Slik får du et Word dokument inn i OLE1: Private Sub Command1_Click() hentWordDok ("C:\Documents and Settings\Eier\Skrivebord\Test\mittDokument.doc") End Sub
aadnk Skrevet 2. mai 2006 Skrevet 2. mai 2006 Eventuelt kan du benytte ShellExecute: ' Api-deklarasjonen med funksjonen vi kommer til å benyttePrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long ' Vis vinduet i normal visningsmodus Const SW_SHOWNORMAL = 1 Public Sub ShowFile(sFile As String, Optional ShowFlags As Long = SW_SHOWNORMAL) ' Kjør den angitte fil ShellExecute Me.hwnd, vbNullString, sFile, vbNullString, "C:\", ShowFlags End Sub For å bruke koden ovenfor kaller du ShowFile med stien til DOC-dokumentet ditt.
Hayer Skrevet 4. mai 2006 Skrevet 4. mai 2006 Ingen Som har noe lettere måter? Jeg kunne også trengt dette...
aadnk Skrevet 4. mai 2006 Skrevet 4. mai 2006 Enklere? Hva kan være enklere enn å lime inn kode og endre/legge inn filstien til sitt eget dokument?
Moskus Skrevet 4. mai 2006 Skrevet 4. mai 2006 Hvis noen bruker VB.net, så prøv: System.Diagnostics.Process.Start(sti til fil eller program som streng)
loydjoha Skrevet 5. mai 2006 Forfatter Skrevet 5. mai 2006 Eventuelt kan du benytte ShellExecute: ' Api-deklarasjonen med funksjonen vi kommer til å benyttePrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long ' Vis vinduet i normal visningsmodus Const SW_SHOWNORMAL = 1 Public Sub ShowFile(sFile As String, Optional ShowFlags As Long = SW_SHOWNORMAL) ' Kjør den angitte fil ShellExecute Me.hwnd, vbNullString, sFile, vbNullString, "C:\", ShowFlags End Sub For å bruke koden ovenfor kaller du ShowFile med stien til DOC-dokumentet ditt. 6029303[/snapback] Har ikke veldig mye erfaring med VB programmering, så jeg trenger nok litt mere forklaring på dette. Kunne du vise meg hvordan jeg legger denne koden inn i den koden som jeg i utgangspunktet hadde tenkt å bruke (se starten av tråden).
aadnk Skrevet 5. mai 2006 Skrevet 5. mai 2006 Har ikke veldig mye erfaring med VB programmering, så jeg trenger nok litt mere forklaring på dette. Kunne du vise meg hvordan jeg legger denne koden inn i den koden som jeg i utgangspunktet hadde tenkt å bruke (se starten av tråden). 6044941[/snapback] Legg først koden jeg gav deg øverst (etter Option Explicit dog], hvoretter du limer inn følgende: Private Sub Display_Open() ' Initialiser liste (fungerer kun i VBA vel å merke) ComboBox1.List = Array("Rutiner", "Info", "Tips") End Sub Private Sub ComboBox1_Change() ' Ettersom kombiboksens innhold korresponderer med de ulike dokumentnavnene, kan du ganske ' enkelt plassere verdien i kombiboksen direkte inn i filstien. ShowFile "O:\Word\Doc\" & ComboBox1.Value & ".doc" End Sub
loydjoha Skrevet 5. mai 2006 Forfatter Skrevet 5. mai 2006 Har ikke veldig mye erfaring med VB programmering, så jeg trenger nok litt mere forklaring på dette. Kunne du vise meg hvordan jeg legger denne koden inn i den koden som jeg i utgangspunktet hadde tenkt å bruke (se starten av tråden). 6044941[/snapback] Legg først koden jeg gav deg øverst (etter Option Explicit dog], hvoretter du limer inn følgende: Private Sub Display_Open() ' Initialiser liste (fungerer kun i VBA vel å merke) ComboBox1.List = Array("Rutiner", "Info", "Tips") End Sub Private Sub ComboBox1_Change() ' Ettersom kombiboksens innhold korresponderer med de ulike dokumentnavnene, kan du ganske ' enkelt plassere verdien i kombiboksen direkte inn i filstien. ShowFile "O:\Word\Doc\" & ComboBox1.Value & ".doc" End Sub 6045949[/snapback] Prøvde å kjøre denne koden, men fikk da følgende melding fra debugger: Compile error: Method or data member not found Følgende i koden under ble markert med blått : .hwnd ShellExecute Me.hwnd, vbNullString, sFile, vbNullString, "C:\", ShowFlags Takker ellers så mye for at du har tid og ork til engasjere deg dette.
aadnk Skrevet 5. mai 2006 Skrevet 5. mai 2006 Compile error: Method or data member not found. 6046188[/snapback] Aha. Det er nok ettersom du kjører dette i VBA. Erstatt «Me.hwnd» med «0&», så skulle det nok gå greit. Takker ellers så mye for at du har tid og ork til engasjere deg dette. 6046188[/snapback] Ingen årsak.
loydjoha Skrevet 8. mai 2006 Forfatter Skrevet 8. mai 2006 Compile error: Method or data member not found. 6046188[/snapback] Aha. Det er nok ettersom du kjører dette i VBA. Erstatt «Me.hwnd» med «0&», så skulle det nok gå greit. Takker ellers så mye for at du har tid og ork til engasjere deg dette. 6046188[/snapback] Ingen årsak. 6047667[/snapback] Dette gjorde susen. Takker for hjelpen.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå