• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Lanciare vba da riga di comando

ERREGI

Utente poco attivo
Professione: impiegato
Software: solidworks autocad
Regione: veneto
#1
ciao a tutti
uso un programmino visual basic su autocad 2004, e mi chiedevo denza dover ogni volta andare in 'macro - esegui .....' è possibile 'lanciare' dalla riga di comando una macro???
grazie
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
#2
_-vbarun;nome.dvb!nome_modulo.nome_macro
 
Ultima modifica:

ERREGI

Utente poco attivo
Professione: impiegato
Software: solidworks autocad
Regione: veneto
#3
Scusate ancora
ma non riesco proprio a farla partire, ho provato usando la macro per realizzare i cartigli ma mi da':
Comando: _vbarun;Gestione_Cartiglio.dvb!Modulo2.reset
Comando sconosciuto "VBARUN;GESTIONE_CARTIGLIO.DVB!MODULO2.RESET". Premere F1

devo indicare anche il percorso????(in realta ho provato ma nisba)

ciao e grazie
 

ERREGI

Utente poco attivo
Professione: impiegato
Software: solidworks autocad
Regione: veneto
#5
ciao ho provveduto a creare il pulsante, e funziona ma.........
e come se funzionasse in ciclico, dopo aver lanciato la macro ed averla eseguita, ricomincia in automatico.
avete qualche idea?????????
p.s. la macro e' quella 'gestione cartiglio' realizzata da SHAPE
grazie
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
#6
Scusate ancora
ma non riesco proprio a farla partire, ho provato usando la macro per realizzare i cartigli ma mi da':
Comando: _vbarun;Gestione_Cartiglio.dvb!Modulo2.reset
Comando sconosciuto "VBARUN;GESTIONE_CARTIGLIO.DVB!MODULO2.RESET". Premere F1

devo indicare anche il percorso????(in realta ho provato ma nisba)

ciao e grazie

Stai caricando quella sbagliata....
MODULO2.RESET non è la macro... dovrebbe essere MODULO2.CARICA
 

ERREGI

Utente poco attivo
Professione: impiegato
Software: solidworks autocad
Regione: veneto
#7
RISOLTO:D:D:D
ho messo punto e virgola dopo il nome della macro e funziona tutto.
grazie grazie grazie
 

lillosoft

Utente poco attivo
Professione: gis
Software: ...
Regione: marche
#8
è una macro, il punto e virgola equivale a un invio,
devi abbinarla a un pulsante, non funziona da riga di comando diretta
Ciao mi intrometto, vorrei fare la stessa cosa: lanciare un applicazione vba da un pulsante su autocad senza aprire l'editor.
Ho fatto il pulsate ma non riesco a far partire l'applicazione se non dall'editor.
Ho provato i vari comandi VBASTMT VBARUN invano.

Mi pare di aver capito che devo passare obbligatoriamente da una MACRO, ma non so come definirla e cosa fargli fare. Ho capito che la macro è trattata come una SUB o una FUNCTION pubblica.

L'ultima prova è, all'interno del comando del bottone:
( _-vbarun DB_m_p.dvb!ACADProject.Form.FORMdb; )
ma dice che non trova la macro...
La prova precedente era:
( VBASTMT DB_m_p.dvb!ACADProject.FORMdb; )
ma dice che ha bisogno di un oggetto, errore 424.

Devo passare per forza dalla macro vba?
Secondo me la soluzione è così semplice che non la vedo, ma aiutatemi lostesso.
Ciao.
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
#9
"VBARUN;NOME.DVB!MODULO.MACRO"

questa è la sintassi dove:
NOME.DVB è il nome (nome file) "c:/documenti/NOME.DVB" attenzione alla / e non \
MODULO.MACRO è il nome macro vera e propria se la macro è per esempio tutta su un Userform crei un modulo con una macro (SUB) dove passi solo Userform1.show, questo è suff. per avviare la macro,
 

lillosoft

Utente poco attivo
Professione: gis
Software: ...
Regione: marche
#10
STREPITOSO!!!
VBARUN programma.dvb!modulo1.sub;
macro-sub-funzioni-modulo-progetto-etc-etc, basta capirsi,

mi chiede la conferma ma può anche andare bene.
ciao, grazie.
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
#11
STREPITOSO!!!
VBARUN programma.dvb!modulo1.sub;
macro-sub-funzioni-modulo-progetto-etc-etc, basta capirsi,

mi chiede la conferma ma può anche andare bene.
ciao, grazie.
in che senso ti chiede conferma ?
 

lillosoft

Utente poco attivo
Professione: gis
Software: ...
Regione: marche
#12
in che senso ti chiede conferma ?
nel senso che mi apre la finestra di dialogo di apertura delle macro,
lì mi chiede conferma del path, del .dwg (non del .dvb ...), del modulo e della macro,
essendo tutto corretto, clicco su esegui e parte l'applicazione.
Ho provato a dargli il path completo nel VBARUN con gli / e i " ma ho lo stesso effetto.
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
#13
mmmm detta così non ho capito bene il probl...

cmq prova ad inserire il percorso della macro, o mettere la macro in un percorso dei file di supporto.

Eventualmente se vuoi postami la macro, così capisco il prob meglio.
 

lillosoft

Utente poco attivo
Professione: gis
Software: ...
Regione: marche
#14
prova ad inserire il percorso della macro
è quello che ho fatto, nella riga di comando del bottone,
VBARUN "path/nome.dvb!numemodulo.nomemacro";
mettere la macro in un percorso dei file di supporto.
questo non l'ho capito, per macro intendi tutto il progetto .dvb?

Ho scoperto anche che il progetto .dvb non deve essere solamente caricato con tools-load application e add to history (permanentemente) o da tools-VBA Manager (preventivamente), ma occorre incorporate il .dvb al .dwg.
Mi spiego meglio: quando fai il tool-macro-VBA Manager selezioni il progetto .dvb, ma invece di caricarlo devi fare l'embed. A questo punto il progetto .dvb non risulta caricato ne in tools-load applications ne in tools-macro-load projects o -VBA Manager, il .dvb è incorporato al .dwg tanto che parte l'editor e l'esecuzione del progetto, oppure, dal bottone personale, si apre la macro con la path già presente senza averla specifica, e il tutto funzia cliccando su esegui della finestra di dialogo...
sonopocochiarovero?
 

Shape

Utente Senior
Professione: Disegnatore Carpenteria
Software: Autocad, VBA-AutoLisp, Tecnometal4D, GIMP
Regione: Friuli
#15
è quello che ho fatto, nella riga di comando del bottone,
VBARUN "path/nome.dvb!numemodulo.nomemacro";

questo non l'ho capito, per macro intendi tutto il progetto .dvb?
ma utilizzi Autocad ? a me viene questo dubbio.... non è che per caso sei su Architectural... o mutazioni del genere ? visto che ti okkupi di GIS ?
 

lillosoft

Utente poco attivo
Professione: gis
Software: ...
Regione: marche
#16
In effetti uso autocad2000map, ma è identico al classico 2000 con in più la gestione di database dove lega i record delle tabelle agli oggetti del disegno.
La parte VBA è la stessa, anzi il suo grosso limite è proprio che non riesco a interagire da VBA sul legame record-oggetto.
Errata Corrige: la questione di incorporare il progetto dvb nel dwg è falsa, è sufficente che il progetto sia caricato...
Il "problemino" attuale è solo che non riesco a passargli il nome della macro da aprire, passa sempre dalla finestra di dialogo del VBARUN, come se non avessi specificato nulla.
screen.JPG
In realtà non mi disturba molto, clicco RUN e procedo.
Ciao grazie.