Avatar billede lopper Nybegynder
26. marts 2004 - 09:53 Der er 17 kommentarer og
1 løsning

VBA Word

Hi
Jeg har lavet noget VBA i word og det køre også fint, men nu er der sket det at jeg får den her "Code for this procedure exceeds 64K when compiled"...

Jeg er med på hvad der er galt så nu vil jeg gerne have lavet den her om til en funktion.

If MBAD.Value = True Then
        NormalTemplate.AutoTextEntries("d016").Insert Where:=Selection.Range, RichText:=True
       
        NormalTemplate.AutoTextEntries("d036").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
             
        NormalTemplate.AutoTextEntries("d020").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d025").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d030").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d017").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d018").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d019").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
    End If

som bliver kørt i min.
Sub LavTilbud_Click()
End Sub
Avatar billede styless Nybegynder
26. marts 2004 - 09:57 #1
ved ikke hvorfor du får fejlen men måske kan dette hjælpe

"Each procedure can contain up to 64K of code. If a procedure or module exceeds this limit, Visual Basic generates a compile-time error. If you encounter this error, you can avoid it by breaking extremely large procedures into several smaller procedures, or by moving module -level declarations into another module."
Avatar billede lopper Nybegynder
26. marts 2004 - 10:04 #2
Ja det ved jeg godt styless

men har prøvet at lave en.

Function MXX()

        NormalTemplate.AutoTextEntries("d016").Insert Where:=Selection.Range, RichText:=True
       
        NormalTemplate.AutoTextEntries("d036").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
             
        NormalTemplate.AutoTextEntries("d020").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d025").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d030").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d017").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d018").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
       
        NormalTemplate.AutoTextEntries("d019").Insert Where:=Selection.Range, RichText:=True
        If PosPriserJa.Value = True Then Application.Run "PosPriser"
   
End Function

Kan man ikke gøre sådan i vba word ?
Avatar billede lopper Nybegynder
26. marts 2004 - 10:05 #3
og når så den her er true.

If MBAD.Value = True Then
  MXX()
End If

Eller hvordan kan jeg få mit input ud...
Avatar billede lopper Nybegynder
26. marts 2004 - 10:07 #4
Det jeg prøver er at lave nogle Functions som jeg så kan køre i Sub LavTilbud_Click()
Avatar billede lopper Nybegynder
26. marts 2004 - 10:14 #5
Hva kan man bare skrive MXX().Insert ???
Avatar billede styless Nybegynder
26. marts 2004 - 10:19 #6
Jeg må indrømme jeg er lidt blank. Jeg forstår ikke helt hvad det er du prøver.

Du kan godt lave en funktion på den måde: jo.

Men så skal den ind i:

Sub LavTilbud_Click()
If MBAD.Value = True Then
  MXX()
End If
End Sub
Avatar billede lopper Nybegynder
26. marts 2004 - 10:25 #7
Jeg tror det køre med.

Sub LavTilbud_Click()
If MBAD.Value = True Then
  MXX().Insert
End If
End Sub

BRB
Avatar billede lopper Nybegynder
26. marts 2004 - 10:37 #8
Hmmm når jeg køre min word fil nu får jeg en debug fejl på mxx().Insert

Hva skal men end den eller sådan noget ??
Avatar billede styless Nybegynder
26. marts 2004 - 10:41 #9
Prøv uden .Insert. Du har jo ikke den med i din funktion så der for kan du jo nok ikke bruge den.
Avatar billede lopper Nybegynder
26. marts 2004 - 10:45 #10
Laver jeg den sådan her..

Sub LavTilbud_Click()
If MBAD.Value = True Then
  MXX()
End If
End Sub

Får jeg Compile error: syntax error
Avatar billede styless Nybegynder
26. marts 2004 - 10:50 #11
Hvilken linie og hvad står der i linien?
Avatar billede lopper Nybegynder
26. marts 2004 - 10:55 #12
Sub LavTilbud_Click()
If MBAD.Value = True Then

=====> MXX() === bliver bare guld*

End If
End Sub

*Får jeg Compile error: syntax error
Avatar billede lopper Nybegynder
26. marts 2004 - 11:22 #13
Er der ikke nogle der ved hvordan men laver sådan en Funktion ??
Avatar billede styless Nybegynder
26. marts 2004 - 11:36 #14
Jeg tror det ikke men det kunne være fordi MXX er et reserveret ord. Der tyder på den ikke kan finde funktionen. Ligger de i samme dokument? Du skal måske også flytte rundt på funktionen nogle gange skal funktionen stå før den blir kaldt andre gange skal den stå bagefter.
Avatar billede styless Nybegynder
26. marts 2004 - 11:37 #15
Jeg tror heller ikke du kan sige If MBAD.Value = True Then hvis du vil chekke på om den er tom så skal du sige If MBAD.Value = "" Then hvis du vil chekke på om den ikke er tom skal du sige If NOT MBAD.Value = "" Then ...
Avatar billede lopper Nybegynder
26. marts 2004 - 11:42 #16
jeg ved at
If MBAD.Value = True Then

køre fint...

prøver at lave mxx om til noget andet.
Avatar billede lopper Nybegynder
26. marts 2004 - 13:04 #17
Har prøvet at lave et modul i word men det vil heller ikke.
Avatar billede lopper Nybegynder
29. marts 2004 - 10:22 #18
Har selv fundet ud af det nu !!!

Sådan her skulle det køre lol

Sub LavTilbud_Click()
If MBAD.Value = True Then

MXX

End If
End Sub

med...

Sub MXX()

kode her

End Sub
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
Kurser inden for grundlæggende programmering

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