Avatar billede bod Nybegynder
07. januar 2004 - 20:37 Der er 7 kommentarer og
1 løsning

Velfungerende makro "dør"

Hej!

Mon nogen har oplevet at en tidligere stabil og velfungerende makro - programmeret i vb til word - pludselig går i stå under brug - og ikke lader sig genoplive?

En ny importering af den samme makro (med nøjagtig den samme kode!) - fungerer i en periode ligeledes aldeles upåklageligt. Men pludselig er også denne makro afgået ved døden.

Findes der mon nogen forklaring - og kur?
Avatar billede martin_moth Mester
08. januar 2004 - 08:26 #1
Er der noget der ændres med tiden - gemmes/hentes data, eller starter macroen fra scratch hver gang?
Avatar billede slo Nybegynder
08. januar 2004 - 10:20 #2
Kan du give lidt systeminformationer? (Jeg har oplevet noget der måske kan minde om dit problem på en NT-platform med Excel 97.)
Avatar billede bod Nybegynder
08. januar 2004 - 12:09 #3
Kommentar til martin moth:
Jeg vil mene at svaret må være fra "scratch" - dog forstået således at der
I mit lille "system" indgår 2 makroer, nemlig
makro a)som henter en formular
(har hele tiden har fungeret perfekt)
samt
makro b) som indgår i behandlingen af formularen
- og her er "problembarnet"!

Svar til slo:
Med hensyn til system så er der tale om en windows 2000
og en office xp
Avatar billede martin_moth Mester
08. januar 2004 - 12:39 #4
Grunden til at jeg spørger er, at der nødvendigvis må være noget der ændres fra gang til gang - forudsætningerne kan ikke være præcist de samme, for så ville macroen jo opføre sig ens hver gang. Og så må din kode være skruet så dårligt sammen, at dette bevirker en fejl (med mindre det er en fejl fra MS's side)

Så: Hvis der ikke gemmes data eller lignende, og macroen ikke modtager nogen form for start-input, der kan ændres fra gang til gang, og macroen således starter op med de samme startbetingelser hver gang, må fejlen ligge et andet sted end i din macro-kode. Og så giver jeg op, for så kan det jo være 100000 ting :o(
Avatar billede slo Nybegynder
08. januar 2004 - 12:48 #5
Med NT-platform og Excel97 (ikke Word!) har jeg oplevet under brug af et af mine tilføjelsesprogrammer at Excel har fået en pludselig hukommelsesfejl og er lukket ned med et brag. Herefter har jeg ikke kunne bruge tilføjelsesprogrammet igen uden at Excel går ned.
Eneste "holdbare" løsning (ikke langtidsholdbare) har været at eksportere alle modulerne, fjerne dem, gemme filen, for til sidst at importere alle modulerne igen. (I Excel97 reducerer det filstørrelsen betragteligt.)
Det har i øvrigt været "store" programmer på minimum 1Mb med mange moduler og masser af kode.
*****
For mig har det i længden hjulpet at jeg har forsøgt at identificere hvilke kilder der er til at Excel har lavet hukommelsesfejl og går ned med et brag - det er nemlig et godt stykke tid siden jeg sidst har set et sådan problem.
****
Jeg ved godt det er Word du arbejder med, en nyere version etc., så det er slet ikke sikkert at mine oplevelser har noget med dine at gøre!
Avatar billede slo Nybegynder
09. januar 2004 - 08:54 #6
Jeg ved fortsat ikke om det her har relevans for dit problem, men for lige at pointere noget af ovenstående har jeg her til morgen nedbragt en 10Mb stor (excel) fil til at fylde ca. 1.5Mb. Først har jeg eksporteret og fjernet alle moduler - herefter fyldte filen fortsat omkring 9Mb. Herefter har jeg kopieret de to eksisterende ark til en ny workbook og importeret alle moduler og forms igen. Nu fylder filen "kun" 1.5Mb.
Hvad der præcist sker ved jeg ikke - det kunne være interessant at få en forklaring herpå!
Avatar billede bod Nybegynder
10. januar 2004 - 18:54 #7
Se SLO - det er faktisk ret morsom at du nævner det med "komprimering" af filen ved hjælp af en form for kopiering, for det er reelt det min makro går ud på :-).
Jeg har behov for at sende mange af den aktuelle formular hvori jeg indsætter grafik - og gør jeg det helt enkle, nemlig vedhæfter og sender filen, ja så vil de hver især fylde minimum 3-400 kb - men laver jeg kunststykket med at kopiere dem over i en ny fil, ja så nedbringes dokument vedhæftet filen 30-40 kb - og det er jo hver at tage med når der bliver tale om adskillige filer som skal suse frem og tilbage mellem flere modtages mailprogram!

Den makro jeg har lavet - og som i lange perioder fungerer upåklageligt ser således ud:

Sub bd_c()
'
' bd_c Makro
' fjern_beskyt()
ActiveDocument.Unprotect
    Selection.Paste
    Selection.WholeStory
    Selection.Copy
    ActiveDocument.Close
    Documents.Add Template:= _
        "C:\Documents and Settings\DAM\Application Data\Microsoft\Skabeloner\Normal.dot" _
        , NewTemplate:=False, DocumentType:=0
    Selection.Paste
    Selection.HomeKey Unit:=wdStory
    Selection.MoveDown Unit:=wdParagraph, Count:=3, Extend:=wdExtend
    Selection.Copy
    ' beskyt Makro
    ActiveDocument.Sections(1).ProtectedForForms = True
    ActiveDocument.Sections(2).ProtectedForForms = True
    ActiveDocument.Protect Password:="", NoReset:=True, Type:= _
        wdAllowOnlyFormFields
End Sub

Jeg vil så lige berette at jeg - via andre kontakter - har fået forslag til at det kan være
1) normal.dot der er syg (er slettet- og makro re-importeret, hvilket hjalp i en periode)
2) word der er syg.
- så en reinstallation af programmet må så nok være næste bud på en mulig løsning.
Avatar billede bod Nybegynder
17. april 2004 - 14:03 #8
Jeg lukker spørgsmålet - men for god ordens skyld vil jeg lige dele denne mistanke med jer:
i min virksomhed anvender vi I-map skabeloner - og ved installation af disse påvirkes normal.dot.

Efter at have forsøgt mig med henholdsvis at afinstallere og geninstallere disse har jeg ræsonneret mig til at der kan være en konflikt mellem disse makroer - og min "provate" makro som gør, at de ikke kan leve i harmoni under office xp - som er den faktor der er ændret undervejs.

Tak for jeres deltagelse i mit problem
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