View Full Version : [Visual Basic]Macro numerazione progressiva documento excel
Ciao a tutti,
premetto che di visual basic conosco poco niente ed è per questo che chiedo il vostro aiuto, dato che non riesco a trovare nulla a riguardo in google.
Io vorrei fare in modo che, dopo aver creato un template in excel ad esempio di una fattura da compilare, al momento del salvataggio (da bottone o salva con nome..) il nome del file salvato sia ad esempio: Fattura "numero " , dove numero sarà 5 se (nella cartella in cui salvo) è presente 'Fattura 4' e così via... in modo da avere una serie di documenti ordinati per numero.
Volevo sapere se esite qualche Macro o operazione in grado di fare questa operazione.
grazie dell'aiuto
simaoli1112
25-06-2012, 16:08
Ciao a tutti,
premetto che di visual basic conosco poco niente ed è per questo che chiedo il vostro aiuto, dato che non riesco a trovare nulla a riguardo in google.
Io vorrei fare in modo che, dopo aver creato un template in excel ad esempio di una fattura da compilare, al momento del salvataggio (da bottone o salva con nome..) il nome del file salvato sia ad esempio: Fattura "numero " , dove numero sarà 5 se (nella cartella in cui salvo) è presente 'Fattura 4' e così via... in modo da avere una serie di documenti ordinati per numero.
Volevo sapere se esite qualche Macro o operazione in grado di fare questa operazione.
grazie dell'aiuto
Non ho capito se hai creato un software che ti crea template e dunque hai problemi nella numerazione delle fatture al momento del salvataggio.
Se è questo lo scenario, potresti salvare in un file, o magari in un altro modo, la numerazione delle tue fatture, ovvero:
Oggi 25/06 creo la fattura N°1, la salvo con la dicitura "Fattura_1";
Domani 26/06 creo la fattura N°2, al momento del salvataggio fai due operazioni basiliari:
Leggo il numero dell'ultima fattura fatta salvato nel file "numero_fatture.txt" e gli aggiungo +1.
Piccolo codice:
Dim n_attuale as string = System.Io.File.ReadFile("continua il codice")
Dim n_nuovo as string = n_attuale + 1
Nota, siccome non ho Visual Studio sottomano e non lo utilizzo da mesi ho scritto codice a vento, forse necessità di qualche modifica ma il concetto è quello!In questo modo hai il numero della fattura che vuoi salvare!
Naturalmente ci sono modi più "puliti" ed "eleganti", come per esempio scrivere nel registro di sistema, ma credo che se si è alle basi, meglio usare metodi di base per poi passare a quelli più complicati!
Non so se ti ho aiutato, ma c'ho provato, buona fortuna! :D
Grazie della risposta :)
Comunque mi sono spiegato male io, il problema non è il template, perchè lo farei proprio base con excel che andrei ad aprire e modificare ogni qualvolta me ne serve uno nuovo.
Il problema era automatizzare il nome del salvataggio.. mi spiego meglio: quando vado a compilare il template in excel (con excel) al momento del salvataggio automaticamente il file deve rinominarsi 'Fattura 2' (se è presente 'Fattura 1'), oppure Fattura 500 (se sono presenti 499 fatture prima di lei)...
Un pò come quando salvi un documento word e non gli dai un nome.. automaticamete si salva 'Senza Titolo 1' ..'Senza titolo 2' ecc...
simaoli1112
25-06-2012, 19:09
Grazie della risposta :)
Comunque mi sono spiegato male io, il problema non è il template, perchè lo farei proprio base con excel che andrei ad aprire e modificare ogni qualvolta me ne serve uno nuovo.
Il problema era automatizzare il nome del salvataggio.. mi spiego meglio: quando vado a compilare il template in excel (con excel) al momento del salvataggio automaticamente il file deve rinominarsi 'Fattura 2' (se è presente 'Fattura 1'), oppure Fattura 500 (se sono presenti 499 fatture prima di lei)...
Un pò come quando salvi un documento word e non gli dai un nome.. automaticamete si salva 'Senza Titolo 1' ..'Senza titolo 2' ecc...
Ecco, penso di aver capito.
Dalle mie conoscenze, non sono un esperto, direi che non sia possibile con il solo Excel, ma il vecchio Google per questo esiste :D
Ho trovato delle cose interessanti, mi scuso io per aver fatto confusione con la risposta precedente :)
Ecco a te, spero che riuscirai a risolvere:
Link esterno 1:
http://it.answers.yahoo.com/question/index?qid=20090317030548AAuLM3P
Link esterno 2:
http://www.terzaghi.it/excel/faq/risposte/23.htm
Ciao e buona serata :)
Ciao,
mi sembra di aver capito che il tuo problema è che quando salvi il file xls non riesci a imporgli il nome che desideri, se è cosi, di seguito ti riporto 1 po di codice semplice e che ti risolve il problema.
'presuppongo che tu ti sia calcolato il progressivo, con una qualche routine precedente (tipo quella suggerita sopra), e per es. tu voglia salvare la Fattura 500 in C:
'presuppongo anche l'esistenza di un template in C:, che io per es. chiamo Template_Fattura.xls
'di seguito il codice VB6
Dim Wb As Excel.Workbook 'Cartella di lavoro Excel
Dim Ws As Excel.Worksheet 'Foglio Excel
Set Wb = Workbooks.Open("C:\Template_Fattura.xls") 'apro il template
Set WS = Wb.Worksheets(1) 'assegno a WS la pagina 1
' faccio
' quello
' che devo fare
Wb.SaveAs ("C:\Fattura_500.xls") 'qui salvo il file xls con il nuovo nome (senza modificare il template)
Wb.Close 'chiudo il file xls aperto
Set WS = Nothing 'Libero Risorse Excell memoria
Set Wb = Nothing 'Libero Risorse Excell memoria
Spero di aver capito bene, e di esserti stato di aiuto.
Ciao.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.