Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Utskrift av PDF-dokument i VB6

Postades av 2017-08-28 16:19:41 - Ale Eklund, i forum visual basic - allmänt, Tråden har 1 Kommentarer och lästs av 3615 personer

Jag undrar över hur jag skall göra för att kunna skriva ut ett PDF-dokument och automatiskt skicka det som en epostbilaga.
Dokumentnamn och adressat hämtas från applikationen.
Tacksam för tips


Svara

Sv: Utskrift av PDF-dokument i VB6

Postades av 2017-09-09 10:29:08 - Pelle Johansson

Det finns en funktion i vb6 som heter printer.print - kolla om du inte kan använda detta. När det gäller att skicka det som mail så finns även ett objekt cdo.message för detta att lägga in ett attachment i ett mail och skicka det.

Public Function SendNewLetters(ByVal PathForLetters As String, ByVal FromName As String, ByVal FromEmail As String, ByVal ToName As String, _
                        ByVal ToEmail As String, ByVal SMTPServer As String, ByVal SMTPPort As Long, ByVal SMTPUser As String, _
                        ByVal SMTPPassword As String, Optional ByVal UseSSL As Boolean = False, Optional ByRef ErrorCode As Long = 0, _
                        Optional ErrorDesc As String = vbNullString) As Boolean
On Error GoTo ErrorHandler
Const CdoReferenceTypeName = 1
Dim iMsg As CDO.Message ' Not using CreateObject() because I have the reference added
Dim sFileCID As String, sFileExt As String
Dim sIconImageSrc As String, sIconImageCID As String
Dim iBpAttachment As CDO.IBodyPart ' Will be reused more than once
Dim iBpIconImage As CDO.IBodyPart
Dim oFSO As Scripting.FileSystemObject
Dim oFolder As Scripting.Folder
Dim oFile As Scripting.File
Dim oDictAddedExtIcons As Scripting.Dictionary
    Set iMsg = New CDO.Message
    ' Configure SMTP parameters
    With iMsg.Configuration
        .Fields(cdoSMTPServer) = SMTPServer
        .Fields(cdoSMTPServerPort) = SMTPPort
        .Fields(cdoSMTPUseSSL) = UseSSL
        .Fields(cdoSMTPAuthenticate) = cdoBasic
        .Fields(cdoSendUserName) = SMTPUser
        .Fields(cdoSendPassword) = SMTPPassword
        .Fields(cdoSMTPConnectionTimeout) = 60
        .Fields(cdoSendUsingMethod) = cdoSendUsingPort
        .Fields.Update
    End With
    ' Set From and To fields
    If Len(FromName) > 0 Then
        ' Let's say we already QP-encoded any special chars for the name
        ' and checked the email address
        iMsg.From = FromName & " <" & FromEmail & ">"
    Else
        iMsg.From = FromEmail
    End If
    If Len(ToName) > 0 Then
        ' Same thing here
        iMsg.To = ToName & " <" & ToEmail & ">"
    Else
        iMsg.To = ToEmail
    End If
    ' Set subject (would need QP encoding as well)
    iMsg.Subject = "Additional Replacement Letters : " & Format(Now, "mm/dd")
    ' Build the body
    iMsg.HTMLBody = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional //EN""><html><body><p>Hello Team,<br/><br/>" & _
                    "Please find below the attached letters</p><div style=""display: table"">"
    ' Will be used to make sure icon images are only added once
    Set oDictAddedExtIcons = New Scripting.Dictionary
    ' Add files here, one new body part for each
    Set oFSO = New Scripting.FileSystemObject
    If oFSO.FolderExists(PathForLetters) Then
        Set oFolder = oFSO.GetFolder(PathForLetters)
        For Each oFile In oFolder.Files
            ' IMPORTANT: Content-IDs should not contain spaces
            sFileCID = Replace$(oFile.Name, " ", "_")
            Set iBpAttachment = iMsg.AddRelatedBodyPart(oFile.Path, oFile.Name, CdoReferenceTypeName)
            iBpAttachment.Fields.Item("urn:schemas:mailheader:content-id") = "<" & sFileCID & ">"
            iBpAttachment.Fields.Update ' Dont' forget that line
            sFileExt = LCase$(GetFileExtension(oFile.Name))
            sIconImageSrc = vbNullString
            Select Case sFileExt
                Case "doc"
                    ' We provide here the path to a 32x32 image of the doc file icon
                    sIconImageSrc = "C:\Users\MyUserName\Desktop\DocIcon.png"
                    ' We could also provide images for other extensions, or
                    '   (more involved) query the DefaultIcon for any extension from
                    '   the registry, load the icon from the ico/exe/dll file and
                    '   find the best size/resize if necessary (already have the
                    '   code, but it's a *lot* of code).
                Case ".."
                    ' Add support for more
            End Select
            If Len(sIconImageSrc) > 0 Then
                If Not oDictAddedExtIcons.Exists(sFileExt) Then
                    sIconImageCID = GetFilePart(sIconImageSrc) ' Is the filename for this and the next line
                    Set iBpIconImage = iMsg.AddRelatedBodyPart(sIconImageSrc, sIconImageCID, CdoReferenceTypeName)
                    ' IMPORTANT: Content-IDs should not contain spaces
                    sIconImageCID = Replace$(sIconImageCID, " ", "_")
                    iBpIconImage.Fields.Item("urn:schemas:mailheader:content-id") = "<" & sIconImageCID & ">"
                    iBpIconImage.Fields.Update ' Dont' forget that line
                    oDictAddedExtIcons.Add sFileExt, sIconImageCID
                    sIconImageSrc = "cid:" & sIconImageCID
                Else
                    sIconImageSrc = "cid:" & oDictAddedExtIcons.Item(sFileExt)
                End If
            End If
            iMsg.HTMLBody = iMsg.HTMLBody & "<div style=""display: table-row""><div style=""text-align: left; " & _
                                            "vertical-align: middle; margin-right: 10px;"">"
            If Len(sIconImageSrc) > 0 Then
                iMsg.HTMLBody = iMsg.HTMLBody & ""
            Else
                iMsg.HTMLBody = iMsg.HTMLBody & "&nbsp;"
            End If
            iMsg.HTMLBody = iMsg.HTMLBody & "</div><div style=""display: table-cell; text-align: left; vertical-align: middle;"">"
            iMsg.HTMLBody = iMsg.HTMLBody & "" & oFile.Name & ""
            iMsg.HTMLBody = iMsg.HTMLBody & "</div></div>"
        Next
    End If
    iMsg.HTMLBody = iMsg.HTMLBody & "</div><br/>"
    iMsg.HTMLBody = iMsg.HTMLBody & "<p>Revert to me for any concerns.</p></body></html>"
    ' Send away!
    iMsg.Send
    SendNewLetters = True
    Exit Function
ErrorHandler:
    ErrorCode = Err.Number
    ErrorDesc = Err.Description
    SendNewLetters = False
End Function

Public Function GetFilePart(ByVal FilePath As String) As String
Dim lPos As Long
    lPos = InStrRev(FilePath, "\")
    If lPos > 0 Then
        GetFilePart = Right$(FilePath, Len(FilePath) - lPos)
    End If
End Function

Public Function GetFileExtension(ByVal FilePath As String, Optional ByVal WithDot As Boolean = False) As String
Dim lPos As Long
    lPos = InStrRev(FilePath, ".")
    If InStr(1, FilePath, ".") Then
        If WithDot Then
            GetFileExtension = Right$(FilePath, Len(FilePath) - lPos + 1)
        Else
            GetFileExtension = Right$(FilePath, Len(FilePath) - lPos)
        End If
    End If
End Function


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 762
27 959
271 761
949
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies