Word document openen op CDROM

Status
Niet open voor verdere reacties.

nonono

Gebruiker
Lid geworden
28 jan 2009
Berichten
289
Ik heb een document met een een aantal namen van files (Word 2003 ), die op CDROM staan (bijv. XXX komt overeen met XXX.doc).

Als eerste heb ik een macro gemaakt met de volgende code:

Code:
Sub open_doc_file()
 For Each dr In CreateObject("Scripting.FileSystemObject").Drives
    If dr.DriveType = 5 And dr.DriveLetter <> "A" Then
        Document.Open dr.DriveLetter & ":\XXX.doc"
    End If
 Next
End Sub


Maar met deze code wordt het bestand niet geopend. Ik krijg ook geen foutmelding.
Hoe dan wel?

En wat ik vervolgens zou willen, is een CommandButton creëren:
- met de muis de tekst XXX selecteren en
- vervolgens met de juiste code onder de knop dan de file op de CD openen

Code:
...
 ?? Document.Open dr.DriveLetter & ":\Value & ".doc"
...

Bedankt Nono
 
Laatst bewerkt:
nonono,

Heb je al gekeken of je macro recorer werkt?
Als hij werktn neem dan je handelingen eens op en zie wat voor code het opleverd.

Suc6
 
De macro recorder werkt. Als ik de verschillende handelingen uitgevoerd heb, dan opent het bestand bijv. XXX.doc op de CDROM.

Er staan echter meer doc files op de CDROM en dan zou ik voor elke file een macro moeten maken om vervolgens de file vanuit het document te kunnen openen. En dat is niet de bedoeling.

Wat ik zou willen?
Ik maak dus een opdrachtknop op het document en daarna kan ik een stuk tekst selecteren dat gekoppeld is aan de file op de CDROM. Klik .... en het document wordt geopened.
 
Nog een opmerking.
Wat niet kan als de macro recorder aanstaat, is tekst selecteren in het document.
 
Met de volgende code wordt het bestand XXX.doc op de CDROM geopend. De naam is echter al in de macro opgegeven.

Code:
Sub xxx()
'
     Dim fn As Variant
     Dim file As Variant
     fn = "XXX"
     file = fn & ".doc"
'
    ChangeFileOpenDirectory "E:\"
    Documents.Open FileName:="E:\" & file
'
End Sub

In onderstaande code wordt de tekst XXX in het document geselecteerd om te copiëren. Bij het uitvoeren van de macro wordt In debug gemeld:
?selection
XXX
?strfind
XXX
?fn
niets

en de file XXX.doc wordt niet geopend.

Code:
Sub XXX()
'
  Dim strfind As String
     Dim fn As Variant
     Dim file As Variant
  Selection.Copy
  strfind = Selection
     fn = strfind
     file = fn & ".doc"
'
    ChangeFileOpenDirectory "E:\"
    Documents.Open FileName:="E:\" & file
'
End Sub

Wat gaat er mis in deze code?

Groet Nono
 
De laatste macro in post #5 is vereenvoudigd tot:

Code:
Sub XXX()
'
  Dim strfind As String
    Selection.Copy
    strfind = Selection
   Documents.Open FileName:="E:\" & strfind & ".doc"
'
End Sub

Voor het uitvoeren van de macro is eerst de tekst XXX geaktiveerd.
Uitvoeren van de macro met “Debug/Step Into”, dan is de waarde voor “strfind” gelijk aan XXX.
En toch wordt het bestand XXX.doc niet geopend op de CDROM.

Wat gaat er mis ?????
 
nonono,

Ik heb de macro even aangepast naar mijn situatie om te testen.
Als ik de Macro voor de 2e keer laat lopen zegt hij dat de file al is geopend
maar ik zie hem niet.
ra ra waar is die dan ?

Code:
Sub XXX()
  Dim strfind As String
    Selection.Copy
    strfind = Selection
    Open "E:\Mijn Documenten\Word\" & strfind & ".doc" For Input As #1
   'Documents.Open Filename:="E:\Mijn Documenten\Word\" & strfind & ".doc"
End Sub
Ik heb op "Documents.Open" gezocht in de help van Excel en die kwam met "Open"

Misschien dat iemand nog een idee heb.?
 
Laatst bewerkt:
Het is de bedoeling, dat de macro de file bijv. XXX.doc op de CDROM opent.
En bij mij is E de letter voor het CD-staion.
 
nonono
Het is de bedoeling, dat de macro de file bijv. XXX.doc op de CDROM opent.
En bij mij is E de letter voor het CD-staion.
Dat had ik wel begrepen, ik schreef ook dat het was aangepast.
Probeer het zo eens.
Code:
Sub XXX()
'
  Dim strfind As String
    Selection.Copy
    strfind = Selection
    Open "E:\" & strfind & ".doc" For Input As #1
'
End Sub
Verder kan ik niets voor je doen, dus wens ik je veel suc6
 
Helaas dit helpt ook niet.

Het probleem is het aan elkaar koppelen van de strings in de laatste regel (concatenation).

Code:
Sub XXX()
'
  Dim strfind As String
    Selection.Copy
    strfind = Selection
   Documents.Open FileName:="E:\" & strfind & ".doc"
'
End Sub

Als er staat:
Code:
.....
Documents.Open FileName:="E:\" & “XXX” & ".doc"
.....

dan wordt de file op de CDROM geopend.
Dus wat gaat er mis bij de “concatenation” ?
Wellicht leest een expert deze post een keer:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan