Hop til teksten

IT FJERNUNDERVISNING
- IT kurser når Du har tid!

Arbejde med dokumenter

På linje med arkfanerne er der 2-3 interessante objekter man kan tage fat i når man skal arbejde med dokumenter - det er Workbooks, ActiveWorkbook og ThisWorkbook.

Workbooks

Er en samling af alle åbne regneark. Her følger et par eksempler på anvendelse:

Workbooks("salg").Activate

Vil aktivere regnearket salg.xls.

Dim w As Workbook
For Each w In Workbooks
  If w.Name <> ThisWorkbook.Name Then 
    w.Close savechanges:=True 
  End If 
Next w

Vil gennemløbe alle åbne regnark og lukke alle undtagen det regneark, der indeholder makroen.

ThisWorkbook

Er et Workbook objekt, der peger på det regneark (den fil), der indeholder makroen.

ActiveWorkbook

Er igen et Workbook objekt, der, som navnet antyder, peger på aktive regneark. ActiveWorkbook bruger vi ofte sammen med Save eller SaveAs

ActiveWorkbook.Save
ActiveWorkbook.SaveAs

 

Workbook objektet har naturligvis en lang række metoder og egenskaber, der kan være nyttige i forskellige sammenhænge. Find dem ved at skrive ActiveWorkbook.

 


 

 

Dialoger

Der findes et Dialogs objekt, der kan bruges i relation til det at gemme regneark, men også i andre sammenhænge

Application.Dialogs(xlDialogSaveAs).Show "test"

Vil åbne gem som dialogen og foreslå at regnearket gemmes i roden på c-drevet med navnet test.xls.

Har du problemer med at styre hvilken mappe filen gemmes i kan du i stedet prøve at bruge

Filnavn = Application.GetSaveAsFilename("c:\", , , "Vælg filnavn")

Den vil åbne en dialog, hvor brugeren har mulighed for at vælge sti og skrive filnavn. Vær opmærksom på, at filen ikke bliver gemt, men at du få det valgte filnavn og sti ind i variablen Filnavn. Efterfølgende skal du så bruge ActiveWorkbook.SaveAs for at gemme. Og du kan spørge på om Filnavn = False for at finde ud af om brugeren faktisk har valgt noget i dialogen.

 


 

Variable

Også når vi arbejder med dokumenter er det en god idé at bruge variable til de forskellige dokumenter man arbejder med

Dim wkbResultat As Workbook
Set wkbResultat = ActiveWorkbook    ' eller
Set wkbResultat = Workbooks.Open(sFilnavn)

 


 

Findes dokumentet

If Dir("c:\mitregneark.xls") <> "" Then 

En lille film...

Se, hvordan man kan samle data sammen fra en række filer:

 

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.