Questione : Excel che invia con la posta elettronica manuale

Ciao gli esperti, il

Hope qualcuno possono aiutare a questo poichè ho passare la maggior parte dei due giorni che provano a registrare questa parte del codice per ottenere l'invio con la posta elettronica del manuale basato su un codice di raggruppamento. Sto sperando che possa tweaked piuttosto di quanto variabile interamente. Inoltre, più semplificato il migliore (se possibile) come sono un newbie.

Data è immesso allo strato di dati. Ci è un codice di raggruppamento denominato regione. il

There è uno strato di distribuzione che ha i seguenti campi: Regione e destinatario. Il campo di regione dallo strato di dati manuallly è immesso nella colonna A con il nome dei destinatari. Quando la macro “SendItAll„ è funzionata, copia i dati dallo strato di dati nello strato di rapporto basato sul codice di raggruppamento nella lista di distribuzione ed invia con la posta elettronica il manuale al destinatario chiamato. le edizioni del

The sono: il

quando il manuale è generato per inviarlo con la posta elettronica non assomiglia allo strato di rapporto mentre perde ecc. di formattazione. Inoltre lo strato in se di rapporto deve essere riformattato sempre dopo che la macro è funzionata. come posso migliorare il codice per eliminare questi riformattazione o dati mancanti ecc di file 1 e 2? il

Secondly, quando il manuale è inviato con la posta elettronica a come posso ottenere scritto nella parte del codice una linea standard nel corpo del messaggio che dichiara (nome del destinatario) e “prego trovo ha attaccato risultati i closing„ ed i riguardi mentre la lima del

Sample ecc… ha attaccato… la macro è chiamato ringraziamenti in anticipo
del

Many “di Senditall " class= " lastRow del
>Attachments " di nome " del class= del class= " valore " del
il

class= " fileInfo " del
il title= " " di nome di schedario del class= " di Results-Test.xlsm il class= (115 KB)  Javascript " del href= " " dei attachmentDetails del class= di (tipo di lima particolari)  
class= " descrizione " del
Campione File
il class= di
del >
class= del

Risposta : Excel che invia con la posta elettronica manuale

Questo frammento di codice usa l'oggetto di prospettiva, per generare un messaggio della posta che sarà conservato nelle vostre brutte copie.

Cambiamento. Risparmiare a. Trasmettere immediatamente per trasmetterlo ma questo potrebbe sollevare le edizioni con le vostre regolazioni di sicurezza.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
SendItAll secondario pubblico ()
    
    outlookApp fioco
    mItem fioco
    lRow fioco come lungamente
    Sul riassunto di errore dopo
    Regolare il outlookApp = GetObject ("", “Outlook.Application„)
    Se Err.Number <> 0 allora
        Regolare il outlookApp = CreateObject (“Outlook.Application„, "")
    Concluder se
    Sull'errore 0 di avanzamento
    Application.ScreenUpdating = Fase
    lRow = manuali (“dati„). Gamma (“A65536„). Estremità (xlUp). Fila
    'Libero fuori qualsiasi vecchi dati sul rapporto
    Strati (“rapporto„). Prescelto
    Gamma (“A4: ANNUNCIO„ & lRow) .ClearContents
    'Dati di specie dalla regione
    'Strati (“dati„). Prescelto
    'Gamma (“A1„) .CurrentRegion.Select
    'Selection.Sort Key1: =Range (“A2„), intestazione: =xlYes
    'Procedare ogni annotazione su distribuzione
    Strati (“distribuzione„). Prescelto
    FinalRow = gamma (“A50„). Estremità (xlUp). Fila
    Per i = 2 a FinalRow
        Strati (“distribuzione„). Prescelto
        RegionToGet = gamma (“A„ & i). Valore
        Destinatario = gamma (“B„ & i). Valore
        'Libero fuori qualsiasi vecchi dati sul rapporto
        Strati (“rapporto„). Prescelto
        Gamma (“A4: ANNUNCIO„ & lRow) .ClearContents
        'Ottenere le annotazioni dai dati
        Strati (“dati„). Prescelto
        Gamma (“A1„) .CurrentRegion.Select
        'Accendere AutoFilter, se non è sopra
        Se ActiveSheet.AutoFilterMode = allora Selection.AutoFilter falso
        'Filtrare i dati appena a questa regione
        Campo di Selection.AutoFilter: =1, Criteria1: =RegionToGet
        'Selezionare soltanto le cellule visibili e copiare per segnalare
        Selection.SpecialCells (xlCellTypeVisible). Selezionare
        Destinazione di Selection.Copy: =Sheets (“rapporto„). Gamma (“A4„)
        'Spegnere il Autofilter
        Selection.AutoFilter
        'Copiare lo strato di rapporto ad un nuovo libro e ad un email
        Strati (“rapporto„). Copia
        ActiveWorkbook.SaveAs “C:\Windows\temp\book123.xls„
        
'        Application.Dialogs (xlDialogSendMail). Mostrare il _
'            arg1: =Recipient, _
'            arg2: = " rapporto - “& RegionToGet
        Regolare il mItem = outlookApp.CreateItem (olMailItem)
        Con mItem
            . A = destinatario
            . Oggetto = “rapporto -„ & RegionToGet
            . Il corpo = “questo è il vostro rapporto„
            . Attachments.Add “C:\Windows\temp\book123.xls„
            . Risparmiare
        Concluder con
        ActiveWorkbook.Close SaveChanges: =False
        Uccisione “C:\Windows\temp\book123.xls„
        Application.ScreenUpdating = Fase
      
    Dopo i
Sommergibile dell'estremità
Altre soluzioni  
 
programming4us programming4us