Gå til innhold

Hvordan åpne Word dokumenter ved hjelp av VB


Anbefalte innlegg

Skrevet (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 av loydjoha
Videoannonse
Annonse
Skrevet

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

Skrevet
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

Skrevet

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

 

;)

Skrevet

Eventuelt kan du benytte ShellExecute:

 

' Api-deklarasjonen med funksjonen vi kommer til å benytte

Private 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.

Skrevet
Eventuelt kan du benytte ShellExecute:

 

' Api-deklarasjonen med funksjonen vi kommer til å benytte

Private 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).

Skrevet
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

Skrevet
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.

Skrevet
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. :thumbup:

Skrevet
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. :thumbup:

6047667[/snapback]

 

Dette gjorde susen. Takker for hjelpen. :yes:

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...