20. april 2005 - 08:27Der er
11 kommentarer og 1 løsning
Kan man åbne Excel som userform
Hej E Jeg vil gerne have, at når man åbner sit Excel regneark, så er det kun userform1, der starter. Selve Excel, skal altså være skjult, så brugeren ikke kan se at det evt. kører i baggrunden.
Som et lille tillægsspørgsmål, vil jeg gerne vide hvordan man sætter en kode på så brugeren ikke kan rette i koden til userformen :-)
Ja og nej. Du kan lade din Workbook_open hændelse åbne userformen, og hvias du så har gjort den stor nok, dækker den over regnearket. Men hvis brugeren vælger at åbne uden makroer vises userformen ikke.
Man kan beskytte sine moduler med kode - men man skal ikke vide så meget om Excel og programmering for at fjerne koden, hvis man ønsker det.
Private Sub UserForm_Initialize() UpdateChart Dim wb As Workbook Application.ScreenUpdating = False Set wb = Workbooks.Open wb.Close False Set wb = Nothing Application.ScreenUpdating = True End Sub
Det kan du sikkert også, men du skal stadig have noget kode til at åbne Userformen, og duc skal stadig have brugeren til at åbne MED nmakroer. Og det er der udfordringen ligger.
Hvis jeg sikre mig at brugeren har lav sikkerhed på makroer, så bliver han ikke spurgt, om han vil åbne med makroer, så det kan jeg godt klare. Når så regnearket er åbnet med makroer, så skal jeg "bare" have regnearket til at køre i baggrunden. Dvs. jeg vl ikke have at man kan se regnearket hvis man flytter rundt på brugerfladen.
Det tror jeg ikke at du kan undgå. Du kan skjule arkene i den åbne mappe, men der skal ALTID være mindst et synligt ark i en mappe. Du kan gøre det, at du lægger et dummy ark forrest og så skjuler de øvrige. Men dette ark vil kunne ses, hvis brugeren flytter userformen.
Ok, så må jeg jo se at leve med det, desværre. Men det kan være du lige kan fortælle mig hvordan og hvor jeg skal skrive, at Excel skal starte med Userform1 åben. Hvis du sender som svar, så får point :-)
Hvis du skal have Excel til at starte meden bestemt userform åben altid, er du ndt til at lave en standardskabelon. Problemet er, at I Excel, skal kode, i modsætning til fx Word altid ligge i en Workbook.
Men lav en projektmappe. I dene lægger du såvel Userform som kode. Koden til at åbne skal ligge i ThisWorkbook modulet på hændelsen Workbook_Open. Gem mappen som en skabelon. Den SKAL hedde Mappe.xlt, og den SKSL gemmes i XLSTART biblioteket. Så vises den pågældende userform hver gang.
Er det kun i et bestemt regneark, det skal virke, skal koden lægges i dette regnearks ThisWrokbook modul på samem hændelse. I så fald behøver du ingen skabelon.
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.