Avatar billede webhelpers Praktikant
12. august 2001 - 16:45 Der er 19 kommentarer og
1 løsning

åben worddokument fra formular

hej,
nogle der har koden til at åbne et worddokument fra et tryk på en knap i en accessformular??
Avatar billede tmceu Praktikant
12. august 2001 - 18:25 #1
Prøv nedenstående

Private Sub Command19_Click()
On Error GoTo Err_Command19_Click
    \' Button launches Word and opens a specified document
    \' And runs an optional macro. the macro could print out the word doc and quit
   
    Dim retval As Variant
    Dim DocName, MacroName As String
    \' Drive and Full path to name and location of Word document
    DocName = \"F:\\Somefolder\\MyDoc.doc\"
   
    \'Optional Macro Name. Note Word Macro name cannot have any spaces in it.
    \'MacroName = \"/M\" & \"MacroName\"
   
    \'Note full path to Word including Drive and folder
    retval = Shell(\"c:\\Microsoft Office97\\Office\\WinWord.exe\" & \" \" & DocName & MacroName, vbNormalFocus)

Exit_Command19_Click:
    Exit Sub

Err_Command19_Click:
    MsgBox Err.Description
    Resume Exit_Command19_Click
   
End Sub
Avatar billede webhelpers Praktikant
12. august 2001 - 22:41 #2
Når jeg skriver din kode, får jeg en fejl i word der siger at dokumentnavnet eller stien er ugyldig. Og det er det rigtige dokumentnavn og placering, ved du hvad der kan være galt?

Min kode ser således ud:

Private Sub Command19_Click()
On Error GoTo Err_Command19_Click
    \' Button launches Word and opens a specified document
    \' And runs an optional macro. the macro could print out the word doc and quit
   
    Dim retval As Variant
    Dim DocName, MacroName As String
    \' Drive and Full path to name and location of Word document
    DocName = \"G:\\Databaser\\Access2000\\Reinhard oil\\Reinhard.doc\"
   
    \'Optional Macro Name. Note Word Macro name cannot have any spaces in it.
    \'MacroName = \"/M\" & \"MacroName\"
   
    \'Note full path to Word including Drive and folder
    retval = Shell(\"F:\\Office2000\\Office\\Winword.exe\" & \" \" & DocName & MacroName, vbNormalFocus)

Exit_Command19_Click:
    Exit Sub

Err_Command19_Click:
    MsgBox Err.Description
    Resume Exit_Command19_Click
   
End Sub
Avatar billede webhelpers Praktikant
12. august 2001 - 22:53 #3
nu fik jeg det squ\' til at virke - jeg læste der ikke måtte være mlrum. sorry. svar på indlægget tmceu og du får dine fortjente points.
tak for hjælpen
12. august 2001 - 22:55 #4
hej,

Jeg mener ikke at Shell er særlig velegnet, da man skal kende stien til Word på forhånd. Istedet vil jeg anbefale OLE automation.

Det kræver bare, at du sætter en reference til Microsoft Word først.

Public Sub OpenWord()
  Dim Wrd As New Word.Application
  Wrd.Visible = True
  Wrd.Activate
  Wrd.Documents.Open \"E:\\Dokumenter\\WORD\\test.doc\"
  Set Wrd = Nothing
End Sub

/Thomas
12. august 2001 - 23:15 #5
Hvad var der galt med mit svar?

/Thomas
Avatar billede webhelpers Praktikant
12. august 2001 - 23:16 #6
Hej thomas,
dit forslag ser godt ud og lettere anvendeligt, men der sker ikke en krone når jeg skal køre koden...
Avatar billede nih Novice
12. august 2001 - 23:21 #7
Kommentar til VBA koden:

Dim DocName, MacroName As String

Erklærer kun MacroName som string, DocName er erklæret som variant.

Istedet kunne man skrive:

Dim DocName As String, MacroName As String
og derved spare en lille smule hukommelse

Niels
12. august 2001 - 23:26 #8
Har du husket at gå i menuen Tools->References og sætte kryds i \"Microsoft Word x.0 Object Library\"?

Endvidere skal du selvfølgelig ændre stien til dit eget dokument, så koden herefter hedder:

  Dim Wrd As New Word.Application
  Wrd.Visible = True
  Wrd.Activate
  Wrd.Documents.Open \"G:\\Databaser\\Access2000\\Reinhard oil\\Reinhard.doc\"
  Set Wrd = Nothing


mvh
Thomas

PS: Hvorfor afviser du allerede spørgmålene? Du skulle jo lige til at give tmceu point, men kunne ikke, fordi du allerede havde afvist ham. Sålænge du ikke har accepteret et spørgsmål, så ved folk godt, at du ikke er 100% tilfreds endnu.
Grunden til at jeg nævner det, er at det virker en smule negativt, at få afvist sit svar, når man nu ved at man har givet et korrekt svar - Når det ikke virker hos dig, kan det jo være en mindre detalje. F.eks. en skrive fejl fra din egen side eller en versions-konflikt eller lign :o)
Avatar billede webhelpers Praktikant
12. august 2001 - 23:35 #9
OK, jeg forstå hvad du mener. Men det er jo ikke for at være negativ, det var jo en fejl.

Jeg skal nok prøve at lade være med at være for hurtig på aftrækkeren i fremtiden 8o). Egentlig var det også fordi jeg havde misforstået systemet lidt, jeg troede at man skal skulle acceptere/afvise et svar med det samme der kom et nyt indlæg.....og hvis jeg så afviste var det for at få yderligere hjælp.

12. august 2001 - 23:39 #10
Helt ok :o)

Du er heller ikke den eneste, der gør det, og jeg er heller ikke klar over, om det kun er mig, der opfatter det negativt...De fleste venter bare med at acceptere/afvise til aller sidst.

Fandt du ud af det med Word?

/Thomas :~)
Avatar billede webhelpers Praktikant
12. august 2001 - 23:46 #11
jep, det virker når man referer til microsoft objekt blabla. Jeg er helt rookie på vba, så alt det der med at referere ved benyttelse af forskellige slags kode osv. - tager nok et stykke tid at sive ind.

Jeg bruger din løsning istedet, men jeg giver points til tcmeu, for han var trods alt først ude. Ikke fordi jeg jonglerer med den største bonus at give ud af, men bare princippet.
tak for hjælpen.
Avatar billede webhelpers Praktikant
12. august 2001 - 23:48 #12
Det er mere fordi jeg skrev at jeg ville give ham dem.
12. august 2001 - 23:48 #13
anytime :o)
Avatar billede webhelpers Praktikant
12. august 2001 - 23:50 #14
Nu her når jeg har opmærksomheden fra nogle er jer, er der så nogle der lynhurtig kan svare på, om det er muligt selv at definere nye genvejstaster på F-tasterne, som herefter kan benyttes til at navigere rundt i databasen?
Avatar billede webhelpers Praktikant
12. august 2001 - 23:54 #15
Bare et Ja el. Nej
12. august 2001 - 23:56 #16
Søg i hjælpen under Autokeys eller Autotaster.

/Thomas
Avatar billede webhelpers Praktikant
13. august 2001 - 00:06 #17
Tak igen thomas, nu skal jeg nok lade jer være i fred.
Avatar billede tmceu Praktikant
13. august 2001 - 17:10 #18
numsi >> du er ikke tvunget til at give mig point, fordi jeg var først ude. Det står dig frit for at give point til den bruger hvis løsning du mener er korrekt (sådan har jeg i hvert tilfælde opfattet reglerne). Du bør retfærdigvis give point til thomasjepsen, men du kan jo også dele dem som du finder retfærdigt :-)
Avatar billede webhelpers Praktikant
13. august 2001 - 18:30 #19
Jeg kan nu godt lide, at du svarede hurtigt og rigtigt.
14. august 2001 - 08:42 #20
Hej Numsi,

Endnu en lille lektion i netetikette her på eksperten.dk :o)

De 15 point er ligegyldige, men principielt er det forkert, ikke at belønne den, som kommer med det \'rigtige\' svar. Med \'rigtige\' svar, så mener jeg det svar, som du vælger at benytte.
Retfærdigvis bør man belønne, at folk gider bruge tid på at hjælpe én. Og ikke bare den der svare hurtigts (det har jo næsten altid bare noget at gøre med hvem der lige er online på det tidspunkt). Og da det er pointene, som holder dette site kørende, så burde du måske have delt pointene ligeligt - eller have givet ekstra-point, så begge parter kunne få 15 point.
Jeg skriver ikke dette for at kritisere - jeg er klar over, at du kun har været på en lille måneds tid. Men hvis der var flere point med i spillet, så kunne du godt risikere, at nogle kunne blive sure over ikke at få point i dette tilfælde.

Anyway; held og lykke fremover her på sitet :o)
/Thomas
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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