Pagina 1 din 2

trimitere automata pagina excell

Scris: Lun Ian 18, 2010 8:45 pm
de cristi_lazarro
buna seara,

spuneti-mi va rog daca se poate automatiza trimiterea paginilor dintr-o carte excell, la niste adrese de mail predefinite, cu cat mai putine click-uri.
fiecare pagina va contine un nume de firma, asociez acele nume cu niste adrese de mail sau, aceste firme/clienti sunt arondate/arondati unuor agenti si sa facem corelarile de adrese mail prin agenti.......etc

se poate ceva in acest sens?


multumesc.

Re: trimitere automata pagina excell

Scris: Lun Ian 18, 2010 9:56 pm
de smcsa
Da, se poate cu
Workbook.SendMail "cineva@server.com", "ref. oferta"
dar doar wotkbook. Deci va trebui sa faci un artificiu, sa faci cate un workbook din fiecare sheet pe care vrei sa-l trimiti

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 11:09 am
de cristi_lazarro
nasol,
in conditiile astea schimb intrebarea: cum pot face automat din fiecare sheet un workbook? 8-)

...evident, nu se poate....

am sa ma mai gandesc cum pot evita aceasta dorinta de neindeplinit


ms!

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 11:54 am
de smcsa
De ce nu vrei sa vezi jumatatea plina a paharului ? :D

Cod: Selectaţi tot

For Each ws In ThisWorkbook.Sheets
    ws.Copy
    ActiveWorkbook.SaveAs "c:\" + ws.Name + ".xlsx"
    ActiveWorkbook.Close
Next ws

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 1:55 pm
de radu_moflea
Salut,
nu reusesc sa sa il pun corect ca sa imi salveze foaia "balanta" separat intr-un folder.
In "balanta" se completeaza urmatorul rand liber, de fiecare data cand ruleaza macroul, si in forma asta este inutila asa.
Vreau sa se salveze in folder separat "nir", foia "nir" (asta se face este ok), dar nu mai vreau ca foia "balanta" sa se salveze in fisierul "nir", si foaia "balanata" sa ramana doar una si sa se completeze in ea rand cu rand, (sper ca am atacat corect problema :( )

Uite si vestitul meu fisier:

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 2:31 pm
de smcsa
Daca am inteles bine, vrei ca la click pe buton sa:
1. Se salveaza nir-ul
2. Se salveaza balanta
toate intr-un folder ales de tine

Cod: Selectaţi tot

nr_nir = Str(ThisWorkbook.Sheets("nir").Range("F8").Value)
ThisWorkbook.Sheets("balanta").Copy
ActiveWorkbook.SaveAs "c:\balanta.xls"
ActiveWorkbook.Close
ThisWorkbook.Sheets("nir").Copy
ActiveWorkbook.SaveAs "c:\nir" + nr_nir + ".xls"
ActiveWorkbook.Close

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 2:41 pm
de radu_moflea
Da , asa vreau :) .
Dar nu stiu sa il "pun" corect in codul meu, am incercat, dar nu functioneaza corect :( .
Poti sa il pui tu corect in codul meu?


Multumesc.

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 3:07 pm
de smcsa
Unde ai

Cod: Selectaţi tot

Sub CallSave()
    Run ("Salveaza_nir")
End Sub
inlocuiesti randul cu Run cu codul dat de mine

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 3:11 pm
de Dr. Cloud
smcsa nu poate inlocui acel rand, deoarece acel rand apeleaza un Add-In pe care i l-am facut.
Uite aici codul care te intereseaza:

Cod: Selectaţi tot

Sub SalvareRegistru()
On Error GoTo err
    nr_nir = Str(ThisWorkbook.Sheets("nir").Range("F8").Value)
    
    ThisWorkbook.Sheets("balanta").Copy
    ActiveWorkbook.SaveAs "C:\Documents and Settings\mateira\Desktop\test\Balante\balanta.xls"
    ActiveWorkbook.Close
    
    ThisWorkbook.Sheets("nir").Copy
    ActiveWorkbook.SaveAs "C:\Documents and Settings\mateira\Desktop\test\Niruri\nir" + nr_nir + ".xls"
    ActiveWorkbook.Close
    
    Exit Sub
    
err:
    MsgBox err.Description, vbOKOnly + vbInformation, "Eroare"
End Sub
In locatia:
C:\Documents and Settings\mateira\Desktop\test vei crea doua foldere: Balante si Niruri.
In ele se vor stoca elementele tale.
Uite si registrul atasat.
Poti rula codul de la butonul ce ti l-am inserat in pagina.

Re: trimitere automata pagina excell

Scris: Mar Ian 19, 2010 4:45 pm
de radu_moflea
Ceva nu functioneza cum trebuie, cand am rulat pt. prima oara macroul "salveza registre separate" a functionat :) , la urmatoarea rulare nu a mai fubctionat si mia dat urmatorul mesaj "Type mismatch".