Magazine

Status
Niet open voor verdere reacties.

bartwebdesign

Gebruiker
Lid geworden
16 jul 2006
Berichten
443
Ik ben nu met Word bezig om Macro's te maken.

Het is wel gelukt, maar nu is de vraag.

Ik wil een knop maken op een werkbalk OK...
Daar een macro aan verbinden OK
Nu wil ik dat als ik op die knop klik, dat er een venstertje verschijnt die vraagt, welk nummer ik wil openen.

Zo wil ik het eigenlijk:
Code:
Sub nummer()
nummer = InputBox("Geef het nummer in", "Nummer")
Set Wrd = CreateObject("Word.Application")
Set Dc = Wrd.Documents.Open("D:\Nummers\nummer" nummer & ".doc")
Wrd.Visible = True
End Sub

Ik heb al vanalles geprobeert (zelfs
http://www.helpmij.nl/forum/showthread.php?t=268387) lukt niet.

Hoe?
 
Kan van hieruit niet nagaan waar het misgaat, maar misschien krijgt je variabele een verkeerd formaat waarde toegekend (een string bijv. ipv. een geheel getal).

Bekijk onderstaande, en kijk of je het ermee kunt fixen in je InputBox:

If you want to get any information from the user you can use the INPUTBOX-function.
This function displays a dialogbox that lets the user fill inn anything and returns the content as a string.
Sometimes you want to decide what the user is supposed to fill in,
instead of accepting any information. That's when you use the INPUTBOX-method :

Sub DecideUserInput()
Dim bText As String, bNumber As Integer
' here is the INPUTBOX-function :
bText = InputBox("Insert in a text", "This accepts any input")
' here is the INPUTBOX-method :
bNumber = Application.InputBox("Insert a number", "This accepts numbers only", 1)
MsgBox "You have inserted :" & Chr(13) & _
bText & Chr(13) & bNumber, , "Result from INPUT-boxes"
End Sub

The INPUTBOX-method has a third argument, Type, that decides what the user is allowd to insert in the INPUTBOX-dialog.
Type can be one of the following :
Type :

Accepted input:

0 A formula
1 A number
2 Text
4 A logical value (True or False)
8 A cell reference, e.g. a Range-object
16 An error value, e.g. #N/A
64 An array of values

Tijs.
 
Ok, kort gesteld: Heb je getest of je variabele 'nummer' wel correct een cijfer krijgt vanuit de InputBox, zodat de te openen .DOC bestandsnaam correct samengesteld wordt?

Tijs.
 
Laatst bewerkt:
Er is nog meer aan de hand:

1. Er ontbreekt een '&' in de samenstelling van de te openen .DOC bestand:
Set Dc = Wrd.Documents.Open("D:\Nummers\nummer" & nummer & ".doc")
2. Misschien moet je de variabele nummer eerst omzetten naar een string
Set Dc = Wrd.Documents.Open("D:\Nummers\nummer" & CStr(nummer) & ".doc")
3. Dat moet ik aan anderen overlaten om zekerheid te verschaffen, maar ik vraag me af of je een subroutine wel dezelfde naam mag geven als een variabele die je in de subroutine gebruikt. Je gebruikt nummer als naam van de subroutine -> Sub nummer () en ook als variabele -> nummer = InputBox("Geef het nummer in", "Nummer")

Succes,

Tijs.
 
Laatst bewerkt:
Bedankt, het werkt.

Nu wil ik graag, als het bestand niet bestaat, dat de map geopend wordt.;)

En als de map niet bestaat een foutmelding.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan