Avatar billede scum_lord Nybegynder
06. juni 2003 - 10:44 Der er 10 kommentarer

Automatisk generering af email

Jeg er på udkig efter en løsning, hvor jeg kan sende et enkelt ark af en større excel mappe, ved enten at køre en macro eller trykke på en knap.
Jeg har lavet et VB script, som ser sådan her ud

Dim Rcpts(1 To 3) As String

Rcpts(1) = "xxx@xxx.xx"
'Rcpts(2) = "xxx@xxx.xx"
'Rcpts(3) = "xxx@xxx.xx"
ThisWorkbook.Sendmail Recipients:=Rcpts, Subject:="Time Sedler", ReturnReceipt:=False

Men dette sender hele regnearket, og det vil jeg gerne undgå, da det fylder en del.
Er der en måde hvorpå jeg kan sende et enkelt "Ark" af gangen ?
Avatar billede jkrons Professor
06. juni 2003 - 10:46 #1
Du kunne lade dit script gemme mappen i et format, hvor der kun er et ark ad gangen, fx Excel 4.0 og så sende dette ene ark.
Avatar billede s_h_m Nybegynder
06. juni 2003 - 10:55 #2
Nu er jeg ikke vba ekspert, men når der står 'ThisWorkbook', så er det vel hele regnearket man sender. Kan man ikke lave noget med 'ActiveSheet' der vil komme til at fungere?
Avatar billede scum_lord Nybegynder
06. juni 2003 - 10:58 #3
Jeg synes jeg har leget med ActiveSheet, men den har ikke mail parametre..
Så jeg har ledt lidt efter en kommando i stil med ThisWorkbook, der bare tager og sender arket, men har ikke kunnet finde det, og jeg er absolut heller ikke VB haj  : )
Avatar billede jkrons Professor
06. juni 2003 - 11:01 #4
Jeg mener - men jeg er ikke sikker - kun at du kan sende hele workbooks. En mulighed kunnevære at lade din kode slette de ark, du ikke vil sende, og så sende det sidste.
Avatar billede s_h_m Nybegynder
06. juni 2003 - 11:14 #5
Hvis kun ThisWorkbook virker til mail, så er det nok jkrons forslag du skal følge.
Hvis du ikke vil slette de andre ark, kunne du også kopiere det ark, du vil sende over i et nyt regneark og så sende det. Men jeg kan godt se det bliver lidt mere besværligt.
Avatar billede scum_lord Nybegynder
06. juni 2003 - 11:32 #6
Problemet er lidt at det ville være praktisk at sende det, som hvis man trykker på send ark som mail, altså så den smider det over i en mail "åbnet" istedet for et vedhæfte det som en fil. Funktionaliteten må jo ligge der, fordi det er det standard knappen gør.
Avatar billede bak Forsker
06. juni 2003 - 13:04 #7
her er en måde at send det aktive ark på og kun det.
det løser ikke problemet at sende det "åbnet"

Sub Send_email()

If Application.MailSystem <> xlNoMailSystem Then
  ActiveSheet.Copy
  With ActiveWorkbook
        .SendMail _
        Recipients:=Array("xxx@xxx.dk", "yyy@yyyy.dk", "zzz@zzzz.dk"), _
        Subject:="her skal subject stå"
        .Close SaveChanges:=False
  End With
  Application.MailLogoff
Else
    MsgBox "Inget Microsoft postsystem er installeret.", vbInformation, "Postmeddelelse"
End If
       
End Sub
Avatar billede scum_lord Nybegynder
06. juni 2003 - 14:28 #8
Så er jeg kommet lidt længere, men jeg mangler stadigt muligheden for at sende arket som sig selv i "bodyen" på mailen, istedet for som en vedhæftet fil.
Avatar billede bak Forsker
06. juni 2003 - 14:38 #9
jeg er bange for, at du er kommet så langt som du kan, uden et større kodeprojekt. Jeg har aldrig set det før, men vil ikke afvise at det kan lade sig gøre, at få selve regnearket over i mailen "åben".
Det er dog muligt at smide data over i text eller html-format.
Avatar billede hpgruppen Nybegynder
15. december 2003 - 20:37 #10
Her er svar på dit problem..



Sub SendMail()

Sheets("Ark1").Select

    'Use a With...End With block to reference the MsoEnvelope object.
    With Application.ActiveDocument.MailEnvelope

        'Add some introductory text before the body of the e-mail.
        '.Introduction = "Please read this and send me your comments."

        'Return a Microsoft Outlook MailItem object that
        'you can use to send the document.
        With .Item

            'All of the mail item settigs are saved with the document.
            'When you add a recipient to the Recipients collection
            'or change other properties, these settings will persist.
            .Recipients.Add "adr@mail.dk"
            .Subject = "Here is the document."

            'The body of this message will be
            'the content of the active document.
            '.Send
            .Display
        End With
    End With
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester