|
| Køre makro i EXCEL fra VBS Fra : Niels Henrik Egebjer~ |
Dato : 09-03-03 22:39 |
|
Hej NG!
Jeg søger desperat en måde hvorpå jeg kan kalde en makro i et excel-ark fra
et VB-script (.bat-fil eller andet).
Sagen er at jeg har åbnet et regneark, hældt nogle data over i det og vil nu
have en makro til at behandle disse data automatisk! Jeg har fundet
nedenstående, men jeg ønsker at arbejde med et ark som allerede er åbent..
hvad skal rettes!?!
(jeg er ikke ret erfaren med VB så gerne så præcist svar som muligt!)
Sub Main
Dim objExcel As Object
Set objExcel = CreateObject( "Excel.Application")
objExcel.application.workbooks.open "c:\temp\Book1.XLS"
objExcel.application.Run "Book1.XLS!ThisWorkbook.HelloWorld" ' run macro
from workbook
objExcel.quit 'quit and exit Excel
Set objExcel = Nothing 'clear object from memory
End Sub
mvh
Niels Henrik Egebjerg
| |
preben nielsen (10-03-2003)
| Kommentar Fra : preben nielsen |
Dato : 10-03-03 20:20 |
|
"Niels Henrik Egebjerg" <nhe@mail.dk> skrev i en meddelelse
news:3e6bb44e$0$162$edfadb0f@dread15.news.tele.dk...
> Sub Main
> Dim objExcel As Object
> Set objExcel = CreateObject( "Excel.Application")
> objExcel.application.workbooks.open "c:\temp\Book1.XLS"
> objExcel.application.Run "Book1.XLS!ThisWorkbook.HelloWorld" '
run macro
Jeg har ikke mulighed for at teste det nu, men umiddelbart ville
jeg tro at ovennævnte linie skulle skrives således:
objExcel.application.Run "HelloWorld"
> mvh
> Niels Henrik Egebjerg
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
Niels Henrik Egebjer~ (11-03-2003)
| Kommentar Fra : Niels Henrik Egebjer~ |
Dato : 11-03-03 09:54 |
|
> Jeg har ikke mulighed for at teste det nu, men umiddelbart ville
> jeg tro at ovennævnte linie skulle skrives således:
>
> objExcel.application.Run "HelloWorld"
Her er den jeg har prøvet! Regnearket "oivis1.xls" er åbent og i dette ark
ligger en makro der hedder "graf".
Dim objExcel
Set objExcel = CreateObject( "Excel.Application")
objExcel.application.workbooks.open "c:\programmer\newlook
6.0\trioplast\templates\oivis1.xls"
objExcel.application.Run "graf"
Jeg får faktisk startet makroen, men jeg har på fornemmelsen at den ikke
rigtig har fat i regnearket, da jeg får en fejl i makroen "graf" i følgende
linie:
Charts.Add
ActiveChart.ChartType = xl3DColumn
[FEJL=>] ActiveChart.SetSourceData Source:=Sheets("Data").Range(sAdr),
PlotBy:=xlColumns
Jeg vil tro den åbner en ny kopi hvor de enkelte ark er skjult.
Hvordan får jeg den til at køre på det ark som allerede er åbent?
mvh
Niels Henrik Egebjerg
| |
Niels Henrik Egebjer~ (12-03-2003)
| Kommentar Fra : Niels Henrik Egebjer~ |
Dato : 12-03-03 08:19 |
|
Hej!
Jeg har løst problemet ved brug af worksheet_activate hvor jeg hvis et felt
=1 ændrer det til 2 og kører makroen..
Tak for hjælpen
- NHE
"Niels Henrik Egebjerg" <nhe@mail.dk> skrev i en meddelelse
news:3e6da406$0$42662$edfadb0f@dread11.news.tele.dk...
>
> > Jeg har ikke mulighed for at teste det nu, men umiddelbart ville
> > jeg tro at ovennævnte linie skulle skrives således:
> >
> > objExcel.application.Run "HelloWorld"
>
> Her er den jeg har prøvet! Regnearket "oivis1.xls" er åbent og i dette ark
> ligger en makro der hedder "graf".
>
> Dim objExcel
> Set objExcel = CreateObject( "Excel.Application")
> objExcel.application.workbooks.open "c:\programmer\newlook
> 6.0\trioplast\templates\oivis1.xls"
> objExcel.application.Run "graf"
>
> Jeg får faktisk startet makroen, men jeg har på fornemmelsen at den ikke
> rigtig har fat i regnearket, da jeg får en fejl i makroen "graf" i
følgende
> linie:
>
> Charts.Add
> ActiveChart.ChartType = xl3DColumn
> [FEJL=>] ActiveChart.SetSourceData Source:=Sheets("Data").Range(sAdr),
> PlotBy:=xlColumns
>
> Jeg vil tro den åbner en ny kopi hvor de enkelte ark er skjult.
>
> Hvordan får jeg den til at køre på det ark som allerede er åbent?
>
> mvh
> Niels Henrik Egebjerg
>
>
| |
|
|