16. september 2003 - 13:47Der er
12 kommentarer og 2 løsninger
makro afvikles 2 gange ved ekstern kald
Jeg har følgende kode i "thisworkbook" under "open" Private Sub Workbook_Open()
Set ws = Sheets("dymo")
Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fs, f Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.OpenTextFile("U:\Quality\serviceorders\dymo.txt", ForReading, False) i = f.read(6) Range("b3").Select ActiveCell.FormulaR1C1 = i Range("b6").Select ActiveCell.FormulaR1C1 = i f.Close
------------- Hvis jeg fra et link fra word eller asp kalder denne excel fil er det som om at makroen afvikles 2 gange og der kommer derfor 2 print af arket.
Hvis jeg via "My computer" klikker på filen udskrives indholdet kun een gang?
ER der en snedig person der ved hvad der går galt her?
Jeg har lige konstateret at open bliver kaldt to gange, når man indsætter xls-filen som kæde til fil. Du må vel så bare teste om det er første gang open kaldes: static secondtime as boolean
if not secondtime then ... endif secondtime = true
Jeg har prøvet med en variabel og en if sætning, og nu igen også med din. Det hjælper bare ikke. Det er som om at variablen bliver nulstillet, eller sagt på en anden måde, at Excel kaldes 2 gange. I så fald skal man måske til at skrive variablen ned i en tesktfil, for ikke at miste den.
if Application.WindowState <> xlMinimized then ... endif
Application.WindowState = xlMinimized
Det er ikke kønt, men hvis det virker er det jo godt nok. Princippet er at når open kaldes anden gang er Excel minimeret, så if-sætningen bliver ikke udført. Har dog kun testet dette meget kortvarigt - der kan være situationer hvor det fejler?
I kæmper godt, men lige lidt hjælper det altså... Jeg kører XP Excel lukkes mellem de to kald (det klarer makroen jo) og derfor dur minimize ikke. Visible - virker ikke da excel. Vent nu lidt... jo bak visible dur hvis man lige tilføjer .... else ThisWorkbook.Saved = True Application.Quit ....
Excel må altså hos mig blive synlig til anden gang?!? Første gang ryger den i else løkken og anden gang i Then
Perfekt bak. Send et svar og du skal få dine point.
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.