Avatar billede nihao Nybegynder
01. maj 2001 - 18:26 Der er 6 kommentarer og
1 løsning

Start makro ved opstart

Når jeg åbner en Excel fil, vil jeg gerne have at en VB makro skal starte, hvis givne conditioner er opfyldt, hvordan gør jeg det.

På forhånd tak!
Avatar billede nih Novice
01. maj 2001 - 22:39 #1
Mig bekendt kan man ikke få excell til at køre en makro ved opstart. Man kan måske vha. et addin.

Jeg har løst et tilsvarende problem ved at bruge WSH:

dim objxl
Set objXL = WScript.CreateObject(\"Excel.Application\")
objxl.workbooks.open(\"c:et_Regneark.xls\")
objxl.visible = true
objxl.Run (\"min_Makro\")

Programlinjerne indsættes i et textdokument, der gives endelsen .vbs - Brug noteblok elller lignende editor (IKKE WORD).
Som du kan se er det vbScribt, hvor du kan bruge If eller Select sætninger til dine conditioner.

Niels
Avatar billede nih Novice
01. maj 2001 - 22:41 #2
Ehh - husk backslasch

objxl.workbooks.open(\"c\\:et_Regneark.xls\")

Niels
Avatar billede Claus Mester
02. maj 2001 - 07:41 #3
Det er muligt jeg ikke har forstået spørgsmålet, men jeg har da ingen problemer med at få excell til at køre en makro ved åbning af en fil!?
(mener du en makro fra VB eller VBA)

Jeg har;

-oprettet en fil ved navn Excellmappe1
-oprettet en makro ved navn makro1 (den afspiller en msgbox med teksten \"test\")
-i VB-editor har jeg i \"open\" egenskaben for \"thisworkbook\" skrevet; modul1.makro1
(modul1 er stedet hvor min makro befinder sig)

Ved opstart af arket, afspilles en msgbox med teksten \"test\"

nicolaus
 
Avatar billede nih Novice
02. maj 2001 - 10:24 #4
Jeg forstod det således at nihao ville åbne en projektmappe og i prombten angive hvilken makro der skulle afvikles, ligesom Access ar sin \"/x makronavn\".
Jeg har anvendt wsh til at have flere vbs filer til samme projektmappe alt efter hvilken makro der skal afhvikles (flere brugere af samme regneark).

nicolaus -> din løsning er selvfølgelig det letteste.

Niels
Avatar billede nihao Nybegynder
02. maj 2001 - 15:33 #5
Nicolaus, din løsning er lige hvad jeg leder efter, men i min excel version, Excel 97. Kan jeg ikke finde \"open\" egenskaben i \"thisWorkbook\".

Avatar billede johs_j Novice
02. maj 2001 - 19:31 #6
Gå ind i Funktioner/Makro/Rediger i VisualBasic.
I venstre side dobb.klikker du på ThisWorkbook.
I højreside fremkommer det tilhørende kodevindue.
Der er 2 rullemenuer foroven.
I den til venstre vælger du WORKBOOK
Følgende frekommer:

Private Sub Workbook_Open()
\' her skriver du din procedure

End Sub
Avatar billede nihao Nybegynder
02. maj 2001 - 20:19 #7
MANGE TAK !
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
Kurser inden for grundlæggende programmering

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