Prøv at gå i Funktioner - Makro - sikkerhed - sæt på fanen sikkerhedsniveauet til Lav, og gå over på fanen udgivere der er tillid til og sæt flueben i giv adgang til visual basic-projekt.
#1 Det er i tilfælde af, at man vil åbne med makroer? - spørger spørg til uden makroer.
Desuden skal man lige være opmærksom på, at når man sætter niveauet ned, så skal man være en del mere sikker på hvilke excel-filer man åbner - at der ikke er nogle ondartet. :)
Det er korrekt at jeg ønsker at åbne arket uden makroer. (åbne en bestemt side, kopiere data og så arbejde videre med disse andet sted)
Man kan vel sige det er en detalje med om brugeren pludselig skal svare Ja eller nej til at åbne et regneark med eller uden makro. Men kan jeg undgå det vil det være at foretrække. Brugeren skal iøvrigt intet foretage i den pågældende Workbook(?) der åbnes. Alt foregår pr kode.
Problemet er - hvis brugeren pludselig siger Ja til at åbne den pågældende Workbbok(?) med makroer - ja så starter diverse dialogbokse op og det vil virke forvirrende på helheden.
Var det en mulighed, at du henter den data du skal bruge, også kopiere du arket til et nyt tomt excel dokument? Det kan nemt lade sig gøre via VB kode i det ark som henter dataen.
Mit problem (eller ønske) er at jeg arbejder i workbook(1). Ved hjælp af VBA i workbbok(1), ønsker jeg at hente nogle data fra en bestemt worksheet i ovennævnte Workbook(?). Selve funktionaliteten i denne manøvre har jeg ikke problemer med at få til at fungere.
Men jeg kunne ønske mig at den automatiserede procedure ikke "bremses" op af et spørgsmål til brugeren om at Workbook(?) indeholder makroer. Kan det undgås således at Workbook'en åbnes "uden makroer" og dermed uden at brugeren skal vælge Ja/Nej.?
Beklager mine lange svar tider. Den java version vi har på arbejde er af ældre dato og fungerer ikke her på siden. :-(
Hvis du blot skal hente data fra et andet ark, og det har en bestemt placering, så kan du fx. gøre følgende:
Hente data fra Workbook(?)s celle A1: ='C:\din\placering\af\filen\[filnavn.xls]Ark1'!$A$1
Ellers hvis du vil åben en fil uden den kommer med ja/nej til makro, så fik jeg dette til at virke:
Sub Aaben() Dim NewWB As Object
sti = "C:\din\placering\af\filen\" filnavn = "filnavn.xls" Set NewWB = GetObject(sti & filnavn)
Windows(filnavn).Visible = True 'hvis det også skal være synligt End Sub
Dog virker makroerne stadig i det nyåbne ark.
Har ikke lige fundet en løsning på at åbne uden makroer, men ellers kan man vel gøre det, at i dit Workbook(?) fik lavet en Workbook_Open(), hvor den tjekker om din WorkBook(1) er åben, og dermed skal ignorer alle makroer.
Synes dit 2 forslag ser interessant ud. Prøver om ikke jeg kan bruge det. Om makroerne virker i arket er ligegyldig, da jeg lukker arket med det samme jeg har fået de ønskede data kopieret.
Synes lige jeg vil fortælle dig at jeg fandt en lidt simplere løsning på mit problem. Jeg indsætter linien Application.EnableEvents = False umiddelbar før jeg åbner filen med makroer. Jeg ønsker som sagt bare at åbne filen - kopiere nogle data - og lukke igen uden at brugeren skal svare på makroer ja/nej eller at diverse makroer startes op.
Application.EnableEvents = False
Workbooks.Open filnavn
Herefter vælger jeg mine data og kopierer dem til udklipsholder med
Selection.Copy
og afslutter med
Application.EnableEvents = True
Hvorefter jeg returnerer til den oprindelige Workbook(1).
Der bliver ikke spurgt om makroer og de makroer der er i Workbook(?) bliver ikke udført.
Okay, jeg havde faktisk selv kigget lidt på det, men som jeg forstod det, så var det kun i det aktive workbook, at den ville slå advarsler fra - og slet ikke en opstarsadvarsel omkring makroer.
Synes godt om
Ny brugerNybegynder
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.