Arbejde med dokumenter

Beskrivelse

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:\"

Øvelse

Hent dette regneark. Lav følgende makroer

  1. En makro, spørger brugeren, hvad regnearket skal hedde og efterfølgende gemmer med det ønskede navn
  2. En makro, der automatisk gemmer regnearket med et filnavn, der indeholder dagsdato
  3. En makro, der gemmer regnearket med et filnavn, der indeholder datoen for den sidste postering i datasættet
  4. En makro, der danner et filnavn og giver brugeren mulighed for at ændre navnet inden der gemmes (via. gem fil dialogen)

Læg de 4 makroer på hver deres knap og send regnearket til mig.


Løsning

Se mit løsningsforslag her.


Koden ser sådan her ud:

Sub SimpelGem()     filnavn = InputBox("Hvad skal filen hedde?", "Skal vi gemme?")     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskDatoGem()     filnavn = "Salgsdata fra " & Date     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskPosteringsGem()     Range("B1").Sort key1:=Range("b1"), Order1:=xlDescending, header:=xlYes     filnavn = "Salgsdata sidste post den " + CStr(Range("b2").Value)     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskGemDialog()     Range("B1").Sort key1:=Range("b1"), Order1:=xlDescending, header:=xlYes     filnavn = "Salgsdata sidste post den " + CStr(Range("b2").Value)     Application.Dialogs(xlDialogSaveAs).Show filnavn End Sub

Bemærk, at dette - som vi tidligere har set - også kan kombineres med hændelsesstyringen på dokument og arkfaner.

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →

Arbejde med dokumenter

Beskrivelse

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:\"

Øvelse

Hent dette regneark. Lav følgende makroer

  1. En makro, spørger brugeren, hvad regnearket skal hedde og efterfølgende gemmer med det ønskede navn
  2. En makro, der automatisk gemmer regnearket med et filnavn, der indeholder dagsdato
  3. En makro, der gemmer regnearket med et filnavn, der indeholder datoen for den sidste postering i datasættet
  4. En makro, der danner et filnavn og giver brugeren mulighed for at ændre navnet inden der gemmes (via. gem fil dialogen)

Læg de 4 makroer på hver deres knap og send regnearket til mig.


Løsning

Se mit løsningsforslag her.


Koden ser sådan her ud:

Sub SimpelGem()     filnavn = InputBox("Hvad skal filen hedde?", "Skal vi gemme?")     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskDatoGem()     filnavn = "Salgsdata fra " & Date     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskPosteringsGem()     Range("B1").Sort key1:=Range("b1"), Order1:=xlDescending, header:=xlYes     filnavn = "Salgsdata sidste post den " + CStr(Range("b2").Value)     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskGemDialog()     Range("B1").Sort key1:=Range("b1"), Order1:=xlDescending, header:=xlYes     filnavn = "Salgsdata sidste post den " + CStr(Range("b2").Value)     Application.Dialogs(xlDialogSaveAs).Show filnavn End Sub

Bemærk, at dette - som vi tidligere har set - også kan kombineres med hændelsesstyringen på dokument og arkfaner.

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →
Arbejde med dokumenter - Excel VBA - IT Fjernundervisning

Arbejde med dokumenter

Beskrivelse

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:\"

Øvelse

Hent dette regneark. Lav følgende makroer

  1. En makro, spørger brugeren, hvad regnearket skal hedde og efterfølgende gemmer med det ønskede navn
  2. En makro, der automatisk gemmer regnearket med et filnavn, der indeholder dagsdato
  3. En makro, der gemmer regnearket med et filnavn, der indeholder datoen for den sidste postering i datasættet
  4. En makro, der danner et filnavn og giver brugeren mulighed for at ændre navnet inden der gemmes (via. gem fil dialogen)

Læg de 4 makroer på hver deres knap og send regnearket til mig.


Løsning

Se mit løsningsforslag her.


Koden ser sådan her ud:

Sub SimpelGem()     filnavn = InputBox("Hvad skal filen hedde?", "Skal vi gemme?")     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskDatoGem()     filnavn = "Salgsdata fra " & Date     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskPosteringsGem()     Range("B1").Sort key1:=Range("b1"), Order1:=xlDescending, header:=xlYes     filnavn = "Salgsdata sidste post den " + CStr(Range("b2").Value)     ActiveWorkbook.SaveAs FileName:=filnavn End Sub
Sub AutomatiskGemDialog()     Range("B1").Sort key1:=Range("b1"), Order1:=xlDescending, header:=xlYes     filnavn = "Salgsdata sidste post den " + CStr(Range("b2").Value)     Application.Dialogs(xlDialogSaveAs).Show filnavn End Sub

Bemærk, at dette - som vi tidligere har set - også kan kombineres med hændelsesstyringen på dokument og arkfaner.

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →