Avatar billede scorp-d Nybegynder
25. november 2009 - 16:33 Der er 2 kommentarer og
1 løsning

Tilføj kode til Workbook_Open (Excel 2007 + Interop 12.0)

Hej.

Jeg opretter et Excel dokument og fylder data i den fra C#, og ville så gerne låse specifikke celler.

Det er også lykkes, men samtidig bliver Outlining slået fra, hvilket er lidt uheldigt.

Har så fundet ud af at jeg skal tilføje følgende linje kode til excel-filens "ThisWorkBook":

Option Explicit
Sub Workbook_Open()

Dim SH As Worksheet

For Each SH In ThisWorkbook.Worksheets

With SH
.EnableOutlining = True
.Protect Password:="12345", _
Contents:=True, _
UserInterfaceOnly:=True
End With

Next SH

End Sub

Men kan ikke rigtig få fat i "ThisWorkBook" igennem theWorkbook.VBProject.VBComponents ligesom de fleste skriver!


Hvordan tilføjer jeg koden? Eller det muligt at gøre det på en anden måde?


Overvejer lidt om det er pga. at det er Excel 2007 og Interop.Excel 12.0.


På forhånd tak
Scorp-D
Avatar billede scorp-d Nybegynder
25. november 2009 - 16:52 #1
Nå denne KB løste problemet....

http://support.microsoft.com/kb/282830/
Avatar billede tjacob Juniormester
25. november 2009 - 17:01 #2
Det virker lidt bagvendt, at du vil sætte disse properties for WorkBook objektet, via kode i filens autostart sub.

Hvorfor ikke sætte properties direkte?
Jeg mener: Når du opretter dokumentet, så har du et WorkBook objekt, som du bruger til at fylde celler med osv.

Kan du ikke sætte outlining og password på alle sheets direkte i dette objekt?
Avatar billede tjacob Juniormester
25. november 2009 - 17:02 #3
Ups, så ikke dit indlæg.....
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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