|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2012
Messaggi: 2
|
[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 |
![]() |
![]() |
![]() |
#2 | |
Member
Iscritto dal: Aug 2011
Città: Nel cassetto D:
Messaggi: 262
|
Quote:
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: 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! 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! ![]()
__________________
Non ho una firma, allora? ![]() |
|
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jun 2012
Messaggi: 2
|
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... |
![]() |
![]() |
![]() |
#4 | |||||
Member
Iscritto dal: Aug 2011
Città: Nel cassetto D:
Messaggi: 262
|
Quote:
Dalle mie conoscenze, non sono un esperto, direi che non sia possibile con il solo Excel, ma il vecchio Google per questo esiste ![]() 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:
Link esterno 2:
Ciao e buona serata ![]()
__________________
Non ho una firma, allora? ![]() |
|||||
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2001
Messaggi: 290
|
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 Codice:
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.
__________________
S.M. Asus P5KC - Q6600 - 2 Gb Ram - Geforce 8800GT. Ultima modifica di sal_rob : 26-06-2012 alle 19:07. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:25.