PDA

Volledige versie bekijken : Macro in Word



Gentei
15 juni 2007, 13:41
Ik heb al een macro gemaakt in word.

Ik moet via die macro een kapitalisatietabel maken en die moet in word tevoorschijn komen als ik op ALT+S druk het probleem is HOE OF WAAR KAN IK DIE VINDEN DAT HIJ DA DOET ALS IK OP ALT+S DRUK want het maakt mij echt gek!!! ik heb alles al geprogrameerd maar da werkt alleen alsk naar extra--->Macro's-----> uitvoeren druk...

hier is de code mochten jullie geïntresseerd zijn


Sub Kapitalisatie()
' Kapitalisatie Macro
Dim strBeginkapitaal As String
Dim sngEindkapitaal As Single
Dim sngIntrest As Single
Dim strJaren As String
Dim strPercent As String
Dim intTeller As Integer
Dim strEersteRegel As String

Do
Do
Do
strBeginkapitaal = InputBox("Geef een beginkapitaal!", "Beginkapitaal")
If IsNumeric(strBeginkapitaal) = False Then
MsgBox "Een numerieke waarde ingeven voor het kapitaal!", vbOKOnly + vbCritical, "Foute invoer"
End If
Loop Until IsNumeric(strBeginkapitaal)
strJaren = InputBox("Geef het aantal jaar!", "Aantal jaar")
If IsNumeric(strJaren) = False Then
MsgBox "Een numerieke waarde ingeven voor de jaren!", vbOKOnly + vbCritical, "Foute invoer"
End If
Loop Until IsNumeric(strJaren)
strPercent = InputBox("Geef het percent (zonder %)!", "Percentage")
If IsNumeric(strPercent) = False Then
MsgBox "Een numerieke waard eingeven voor het percent!", vbOKOnly + vbCritical, "Foute invoer"
End If
Loop Until IsNumeric(strPercent)
Selection.TypeText Text:="Aantal jaar: " & strJaren & vbCrLf
Selection.TypeText Text:="Beginkapitaal: " & strBeginkapitaal & vbCrLf
Selection.TypeText Text:="Intrest: " & strPercent & vbCrLf
strEersteRegel = Format("Jaar", "!" & String(6, "@")) & Format("BK", "!" & String(10, "@")) & Format("Intrest", "!" & String(10, "@")) & Format("EK", "!" & String(15, "@"))
Selection.TypeText Text:=strEersteRegel & vbCrLf
Do
intTeller = intTeller + 1
sngIntrest = Val(strBeginkapitaal) * Val(strPercent) / 100
sngEindkapitaal = Val(strBeginkapitaal) + sngIntrest
Selection.TypeText Text:=Format(intTeller, "!" & String(6, "@") & Format(Val(strBeginkapitaal), "!" & String(10, "@"))) & Format(sngIntrest, "!" & String(10, "@")) & Format(sngEindkapitaal, "!" & String(15, "@")) & vbCrLf
strBeginkapitaal = sngEindkapitaal
Loop Until intTeller = Val(strJaren)
End Sub

Pietsnot
15 juni 2007, 15:01
kun je in uw programma geen thread laten lopen, en dan controleren op bepaalde key's dat je indrukt?
en dan als je in die thread, de ingedrukte combinatie overeenkomt, dan moet em deze sub aanroepen!!
denk dat je uw oplossingen daar ergens moet gaan zoeken.

Gentei
15 juni 2007, 15:47
kun je in uw programma geen thread laten lopen, en dan controleren op bepaalde key's dat je indrukt?
en dan als je in die thread, de ingedrukte combinatie overeenkomt, dan moet em deze sub aanroepen!!
denk dat je uw oplossingen daar ergens moet gaan zoeken.

als je bedoelt om in mijn programma een zin te programmeren die doet "wnr de toetsencombinatie ALT+S ingedrukt wordt voer deze programma uit" dan weet ik dat niet ik heb da namelijk niet geleerd hoe je het moet doen...

Pieke
15 juni 2007, 15:54
heb je zelf ingevoerd dat die macro alt + s is?

Gentei
15 juni 2007, 16:27
heb je zelf ingevoerd dat die macro alt + s is?

hoe zou ik dat gedaan hebben?

Het enigste dat ik gedaan heb is extra, Macro, Macro dan naam ingevuld (kapitalisatie) en dan op maken geklikt en zo die macro gemaakt..?

daVinci
15 juni 2007, 16:59
Dan kies je extra macro opnemen, toewijzing daar aan toetsenbord combinatie ALT+S en vervolgens de code kopieren naar de nieuwe sub.

Gentei
15 juni 2007, 20:23
k, heb het nu het werkt thx voor de help!