Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

excel: script automazione

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[11] Re: script

Messaggioda Foto Utentephylum » 13 mar 2010, 21:32

tutto direi ;)
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[12] Re: script

Messaggioda Foto Utenterini » 15 mar 2010, 21:43

Visto che non hai un'idea di cosa sia il VBA, puoi iniziare a guardare qualcosa su internet come ad esempio questo video.

Almeno incominci ad avere un'idea di dove devi scrivere il codice di prima!
Guarda anche altri video di questo utente di youtube. Sono molto utili per iniziare a programmare in VBA.
Dopo aver visto i video, prova a scrivere te il codice. Vedrai che non sarà molto difficile
rini - \existslectroYou
Avatar utente
Foto Utenterini
1.420 2 5 13
Master EY
Master EY
 
Messaggi: 461
Iscritto il: 17 dic 2007, 1:04
Località: Bologna \ Salento

0
voti

[13] Re: script

Messaggioda Foto Utentedomenico04 » 16 mar 2010, 0:39

ok ho visto i video...adesso però aiutami a fare questo....... io apro un file excel che si chiama "a" ,che si trova sul desktop, questo file deve essere aggiornato con un file che si chiama "b",che si trova in C:\Documents and Settings\domenico\Documenti ,una volta aperto "b" mi esce una finestra che dice "aggiorna " e " non aggiornare" quindi ci vuole un comando che mi clicchi su "non aggiornare" e poi mi chiuda il file "b" ......dopo in seguenza si deva aprire un file chiamato "c" che si trova sempre in C:\Documents and Settings\domenico\Documenti si apre di nuovo la stessa finestra quindi "non aggiornare" e poi chiudere "c"....
spiegami comunque paso passo grazie!
Avatar utente
Foto Utentedomenico04
0 3
 
Messaggi: 46
Iscritto il: 22 gen 2010, 2:04

0
voti

[14] Re: script

Messaggioda Foto Utentephylum » 16 mar 2010, 11:40

"se solo mi leggessi"
viewtopic.php?f=16&t=17620&st=0&sk=t&sd=a#p123749

comunque lo scenario che hai decritto ora è leggermente diverso da quanto detto prima ;)

altrimenti con un editor di testo qualsiasi (blocco note) inserisci il codice seguente e salva con estensione .VBS, per l'uso sara' suff. doppio click.

Codice: Seleziona tutto

    Dim XL
    Dim wB
    Set XL = CreateObject("EXCEL.APPLICATION")
    XL.AskToUpdateLinks = False
    XL.Visible = True
    Set wB = XL.Workbooks.Open("qui_ci_mett_il_nome_del_file") 
    wB.Save()
    XL.DisplayAlerts = False
    XL.ActiveWorkBook.Close(True)
    'XL.Quit()


\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[15] Re: script

Messaggioda Foto Utentedomenico04 » 16 mar 2010, 21:22

si apre un qualsiasi foglio excel tutto grigio
Avatar utente
Foto Utentedomenico04
0 3
 
Messaggi: 46
Iscritto il: 22 gen 2010, 2:04

0
voti

[16] Re: script

Messaggioda Foto Utentephylum » 17 mar 2010, 1:07

mmm non credo ;)
commenta activeworkbook.close (aggiungi un ' ) altrimenti è probabile che nonostante la macro funzioni nn riesci a vederla perche è programmata per chiudere il foglio all'istante :)
comunque a) che versione di office usi b) controlla il percorso inserito in "qui_ci_mett_il_nome_del_file"
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[17] Re: script

Messaggioda Foto Utentedomenico04 » 17 mar 2010, 12:10

è vero si apre e chiude all'istante non ero riuscito a vederlo.....
adesso vedo se riesco a piegarti tutto...come effettivamente stanno le cose....
ho un file excel "rubrica generale" che io apro manualmente e una volta aperto, questo è collegato in rete a un server interno a una struttura dove sono vari file con cui deve essere aggiornato, ma succede che mi da in alcune celle degli errori tipo #nd o una cosa del genere(adesso sono una settimana fuori sede non ricordo bene il codice dell'errore) che però se io apro tutti i file con cui "rubrica generale" va aggiornato questi errori spariscono(non credo sia il caso di risolvere questo tipo di errore meglio creare un file vba)
ricapitoliamo aprendo "rubrica generale" mi dice "aggiornare" o "non aggiornare" e quindi cliccare "aggiornare" a questo punto mi escono quegli errori sopra citati in alcune celle quindi devo aprire "reparto a" e aprendolo mi dice "aggiornare" o "non aggiornare" (se clicco non aggiornare gli errori spariscono lo stesso e va più veloce che se clicco aggiornare) quindi cliccare "non aggiornare" e chiudere "reparto a" poi aprire "reparto b" stesso procedimento di "reparto a" poi aprire "centro clinico" qui invece devo aprirlo e chiuderlo soltando (senza il comando "non aggiornare") poi aprire "transito 1" stesso procedimento di "centro clinico" poi l'ultimo aprire "transito 2" lo stesso solo aprire e chiudere....
spero di non scocciarti troppo e grazie comunque!
Avatar utente
Foto Utentedomenico04
0 3
 
Messaggi: 46
Iscritto il: 22 gen 2010, 2:04

0
voti

[18] Re: script

Messaggioda Foto Utentephylum » 17 mar 2010, 20:56

beh in questo caso hai gia tutto quello che ti serve ;)
nel senso che se segui il consiglio di pagina 1 messaggio 4 hai gia risolto ma devi aprire i fogli a mano/.bat se usi il codice inserito sopra ed eventualmente ripeti .open e .close per i vari fogli fara' tutto da se... :P
mentre relativamente ai files in rete spesso conviene mappare il percorso condiviso su un unita' virtuale es. \\mioserver\public\files\miacondivisione puoi mapparlo Z:\ ;)
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

0
voti

[19] Re: script

Messaggioda Foto Utentedomenico04 » 17 mar 2010, 22:51

gli stessi comandi vanno bene anche se alcuni file devo prima cliccare "non aggiornare" e poi chiudere e altri devo solo aprire e chiudere?
cosa vuoi dire con ma devi aprire i fogli a mano/.bat se usi il codice inserito sopra ?
e poi mentre relativamente ai files in rete spesso conviene mappare il percorso condiviso su un unita' virtuale es. \\mioserver\public\files\miacondivisione puoi mapparlo Z:\?
tutti i file sono in un server condiviso in rete e il percorso è questo........
risorse di rete/tutta la rete/cedinfoserver/repartoa/mattinalia.xls
risorse di rete/tutta la rete/cedinfoserver/repartob/mattinalib.xls
risorse di rete/tutta la rete/cedinfoserver/centroclinico/mattinaliccl.xls
risorse di rete/tutta la rete/cedinfoserver/tr1.xls
risorse di rete/tutta la rete/cedinfoserver/tr2.xls
mentre la mia rubrica....
risorse di rete/tutta la rete/cedinfoserver/ufficioposta/rubrica.xls che io apro dal mio PC
ti chiedo troppo se mi componi tutto il codice per intero?
mi faresti un gran favore....non sono molto serrato in excel....
se non ti va o non hai il tempo grazie lo stesso...ciao!
Avatar utente
Foto Utentedomenico04
0 3
 
Messaggi: 46
Iscritto il: 22 gen 2010, 2:04

0
voti

[20] Re: script

Messaggioda Foto Utentephylum » 17 mar 2010, 23:57

dovresti rileggere il messaggio ;) anche se manca una virgola prima di "se etc" il significato era diverso ^^ da quello che hai capito

comunque
a) mappare i percorsi
start
esegui
->cmd [invio]
net use z: \\cedinfoserver [invio]

cosi' è piu facile accedervi :P diventera' un'unita Z:

riguardo allo script:
1. hai detto che cliccando "aggiornare" funziona comunque :) quindi nn serve nemmeno preoccuparsi del "non aggiornare"
o se proprio devi
XL.AskToUpdateLinks = True
set shl = CreateObject("WScript.Shell")
shl.sendkeys "N" o "%N" se è richiesto alt+n
o ancora DDEExecute...
2. ferrato ? ^^

Dim XL
Dim wB
Set XL = CreateObject("EXCEL.APPLICATION") ' creo oggetto "Excel"
XL.AskToUpdateLinks = False ' disattivo la richiesta "vuoi aggiornare?"
XL.Visible = True ' voglio poter vedere excel
Set wB = XL.Workbooks.Open("Z:\repartoX\xxx.xls") ' apro Z:\repartoX\xxxx.xls
wB.Save()
XL.DisplayAlerts = False ' disattivo eventuali messaggio
XL.ActiveWorkBook.Close(True) ' chiudo e salvo
'XL.Quit() ' se togli ' chiude excel al termine

di conseguenza aprire N files significa n volte
Set wB = XL.Workbooks.Open("n-file") ' apro il file n-file
wB.Save()
XL.DisplayAlerts = False ' disattivo eventuali messaggio
XL.ActiveWorkBook.Close(True) ' chiudo e salvo
\int_{}tella
Immagine
Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
 
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40

PrecedenteProssimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti