VBA Macro Saving Outlook Emails as “File” not as “.msg”











up vote
0
down vote

favorite












I've got this block of code to go through all the emails in my "Today" folder in Outlook, then save all the emails (.msg) to a folder named as the sender name. However, sometimes the .msg files aren't being saved and instead it's just saving a file, with the file type "file". How do I fix this to make sure the emails are saved as .msg files?



Screenshot of the "file" file type
Screenshot of its properties



Thanks,
PJ



Sub SaveAttachments()
'https://www.fontstuff.com/outlook/oltut01.htm
'Declare Variables
Dim ns As NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim Savefolder As String
Dim i As Integer

Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox).Folders("Today")
i = 0

'Stop script if there are no emails
If Inbox.Items.Count = 0 Then
MsgBox "There are no messages in the Inbox.", vbInformation, "Nothing Found"
Exit Sub
End If

'Display the number of emails
MsgBox Inbox.Items.Count, vbInformation, _
"Number of Emails?"

'Go through each email
For Each Item In Inbox.Items
'Create a path for the save folder
Savefolder = "C:UsersworkDesktop22_11_18Test" & Item.SenderName
'If the email has attachments, then create a folder
If Item.Attachments.Count > 0 Then
MkDir Savefolder
'If the folder already exists, skip to the next statement
On Error Resume Next
'Save the email as a .msg file
Item.SaveAs Savefolder & "" & Item.Subject & ".msg"
End If

Next Item
End Sub









share|improve this question






















  • Do you get an error if you remove On Error Resume Next? I also don't see any indication that you're removing characters that aren't valid in a path. Such as : in "Re:"
    – Comintern
    Nov 22 at 0:22












  • Sometimes I do get an error because the folder already exists and the script attempts to make a new folder with the same name (sometimes I get multiple emails from the same sender); I've found that using the On Error enables me to get past this issue. That didn't occur to me at all! I'll adjust the script to fix that, hopefully that is the cause.
    – PJ Maestro
    Nov 22 at 1:45










  • I changed .Subject to .ConversationID and the problem has been fixed. Thank you very much!
    – PJ Maestro
    Nov 22 at 1:51















up vote
0
down vote

favorite












I've got this block of code to go through all the emails in my "Today" folder in Outlook, then save all the emails (.msg) to a folder named as the sender name. However, sometimes the .msg files aren't being saved and instead it's just saving a file, with the file type "file". How do I fix this to make sure the emails are saved as .msg files?



Screenshot of the "file" file type
Screenshot of its properties



Thanks,
PJ



Sub SaveAttachments()
'https://www.fontstuff.com/outlook/oltut01.htm
'Declare Variables
Dim ns As NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim Savefolder As String
Dim i As Integer

Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox).Folders("Today")
i = 0

'Stop script if there are no emails
If Inbox.Items.Count = 0 Then
MsgBox "There are no messages in the Inbox.", vbInformation, "Nothing Found"
Exit Sub
End If

'Display the number of emails
MsgBox Inbox.Items.Count, vbInformation, _
"Number of Emails?"

'Go through each email
For Each Item In Inbox.Items
'Create a path for the save folder
Savefolder = "C:UsersworkDesktop22_11_18Test" & Item.SenderName
'If the email has attachments, then create a folder
If Item.Attachments.Count > 0 Then
MkDir Savefolder
'If the folder already exists, skip to the next statement
On Error Resume Next
'Save the email as a .msg file
Item.SaveAs Savefolder & "" & Item.Subject & ".msg"
End If

Next Item
End Sub









share|improve this question






















  • Do you get an error if you remove On Error Resume Next? I also don't see any indication that you're removing characters that aren't valid in a path. Such as : in "Re:"
    – Comintern
    Nov 22 at 0:22












  • Sometimes I do get an error because the folder already exists and the script attempts to make a new folder with the same name (sometimes I get multiple emails from the same sender); I've found that using the On Error enables me to get past this issue. That didn't occur to me at all! I'll adjust the script to fix that, hopefully that is the cause.
    – PJ Maestro
    Nov 22 at 1:45










  • I changed .Subject to .ConversationID and the problem has been fixed. Thank you very much!
    – PJ Maestro
    Nov 22 at 1:51













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I've got this block of code to go through all the emails in my "Today" folder in Outlook, then save all the emails (.msg) to a folder named as the sender name. However, sometimes the .msg files aren't being saved and instead it's just saving a file, with the file type "file". How do I fix this to make sure the emails are saved as .msg files?



Screenshot of the "file" file type
Screenshot of its properties



Thanks,
PJ



Sub SaveAttachments()
'https://www.fontstuff.com/outlook/oltut01.htm
'Declare Variables
Dim ns As NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim Savefolder As String
Dim i As Integer

Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox).Folders("Today")
i = 0

'Stop script if there are no emails
If Inbox.Items.Count = 0 Then
MsgBox "There are no messages in the Inbox.", vbInformation, "Nothing Found"
Exit Sub
End If

'Display the number of emails
MsgBox Inbox.Items.Count, vbInformation, _
"Number of Emails?"

'Go through each email
For Each Item In Inbox.Items
'Create a path for the save folder
Savefolder = "C:UsersworkDesktop22_11_18Test" & Item.SenderName
'If the email has attachments, then create a folder
If Item.Attachments.Count > 0 Then
MkDir Savefolder
'If the folder already exists, skip to the next statement
On Error Resume Next
'Save the email as a .msg file
Item.SaveAs Savefolder & "" & Item.Subject & ".msg"
End If

Next Item
End Sub









share|improve this question













I've got this block of code to go through all the emails in my "Today" folder in Outlook, then save all the emails (.msg) to a folder named as the sender name. However, sometimes the .msg files aren't being saved and instead it's just saving a file, with the file type "file". How do I fix this to make sure the emails are saved as .msg files?



Screenshot of the "file" file type
Screenshot of its properties



Thanks,
PJ



Sub SaveAttachments()
'https://www.fontstuff.com/outlook/oltut01.htm
'Declare Variables
Dim ns As NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim Savefolder As String
Dim i As Integer

Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox).Folders("Today")
i = 0

'Stop script if there are no emails
If Inbox.Items.Count = 0 Then
MsgBox "There are no messages in the Inbox.", vbInformation, "Nothing Found"
Exit Sub
End If

'Display the number of emails
MsgBox Inbox.Items.Count, vbInformation, _
"Number of Emails?"

'Go through each email
For Each Item In Inbox.Items
'Create a path for the save folder
Savefolder = "C:UsersworkDesktop22_11_18Test" & Item.SenderName
'If the email has attachments, then create a folder
If Item.Attachments.Count > 0 Then
MkDir Savefolder
'If the folder already exists, skip to the next statement
On Error Resume Next
'Save the email as a .msg file
Item.SaveAs Savefolder & "" & Item.Subject & ".msg"
End If

Next Item
End Sub






vba outlook-vba






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 22 at 0:19









PJ Maestro

1




1












  • Do you get an error if you remove On Error Resume Next? I also don't see any indication that you're removing characters that aren't valid in a path. Such as : in "Re:"
    – Comintern
    Nov 22 at 0:22












  • Sometimes I do get an error because the folder already exists and the script attempts to make a new folder with the same name (sometimes I get multiple emails from the same sender); I've found that using the On Error enables me to get past this issue. That didn't occur to me at all! I'll adjust the script to fix that, hopefully that is the cause.
    – PJ Maestro
    Nov 22 at 1:45










  • I changed .Subject to .ConversationID and the problem has been fixed. Thank you very much!
    – PJ Maestro
    Nov 22 at 1:51


















  • Do you get an error if you remove On Error Resume Next? I also don't see any indication that you're removing characters that aren't valid in a path. Such as : in "Re:"
    – Comintern
    Nov 22 at 0:22












  • Sometimes I do get an error because the folder already exists and the script attempts to make a new folder with the same name (sometimes I get multiple emails from the same sender); I've found that using the On Error enables me to get past this issue. That didn't occur to me at all! I'll adjust the script to fix that, hopefully that is the cause.
    – PJ Maestro
    Nov 22 at 1:45










  • I changed .Subject to .ConversationID and the problem has been fixed. Thank you very much!
    – PJ Maestro
    Nov 22 at 1:51
















Do you get an error if you remove On Error Resume Next? I also don't see any indication that you're removing characters that aren't valid in a path. Such as : in "Re:"
– Comintern
Nov 22 at 0:22






Do you get an error if you remove On Error Resume Next? I also don't see any indication that you're removing characters that aren't valid in a path. Such as : in "Re:"
– Comintern
Nov 22 at 0:22














Sometimes I do get an error because the folder already exists and the script attempts to make a new folder with the same name (sometimes I get multiple emails from the same sender); I've found that using the On Error enables me to get past this issue. That didn't occur to me at all! I'll adjust the script to fix that, hopefully that is the cause.
– PJ Maestro
Nov 22 at 1:45




Sometimes I do get an error because the folder already exists and the script attempts to make a new folder with the same name (sometimes I get multiple emails from the same sender); I've found that using the On Error enables me to get past this issue. That didn't occur to me at all! I'll adjust the script to fix that, hopefully that is the cause.
– PJ Maestro
Nov 22 at 1:45












I changed .Subject to .ConversationID and the problem has been fixed. Thank you very much!
– PJ Maestro
Nov 22 at 1:51




I changed .Subject to .ConversationID and the problem has been fixed. Thank you very much!
– PJ Maestro
Nov 22 at 1:51












1 Answer
1






active

oldest

votes

















up vote
0
down vote













You can use subject if the characters in the subject are all valid.



Option Explicit

Private Sub SaveMail_ContainingAttachments_ValidSubject()

'Declare Variables
Dim ns As Namespace
Dim targetFolder As Folder
Dim itm As Object
Dim atmt As Attachment

Dim strSaveFolder As String
Dim validSubject As String

Set ns = GetNamespace("MAPI")
Set targetFolder = ns.GetDefaultFolder(olFolderInbox)
Set targetFolder = targetFolder.Folders("Today")

'Stop script if there are no emails
If targetFolder.Items.count = 0 Then
MsgBox "There are no messages in " & targetFolder & ".", vbInformation, "Nothing Found"
Exit Sub
End If

'Display the number of emails
MsgBox targetFolder.Items.count, vbInformation, "Number of Emails?"

'Go through each email
For Each itm In targetFolder.Items

'If the email has attachments, then create a folder
If itm.Attachments.count > 0 Then

'Create a path for the save folder
strSaveFolder = "C:UsersworkDesktop22_11_18Test" & itm.senderName

' Bypass error if the folder already exists
On Error Resume Next
MkDir strSaveFolder

' Discontinue error bypass as soon as the purpose is served
' Let unknown errors generate then fix them
On Error GoTo 0

' Replace or remove invalid characters
' Possible options "_" or " " or "" ....
validSubject = ReplaceIllegalChar(itm.subject, "_")
If validSubject <> itm.subject Then
Debug.Print itm.subject
Debug.Print validSubject
End If

'Save the email as a .msg file
itm.SaveAs strSaveFolder & "" & validSubject & ".msg"

End If

Next itm

End Sub

Private Function ReplaceIllegalChar(strInput, strReplace)

Dim RegX As Object

Set RegX = CreateObject("vbscript.regexp")

RegX.Pattern = "[" & Chr(34) & "!@#$%^&*()=+|[]{}`';:<>?/,]"
RegX.IgnoreCase = True
RegX.Global = True

' Replace with another string
ReplaceIllegalChar = RegX.Replace(strInput, strReplace)

ExitFunction:

Set RegX = Nothing

End Function





share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53422235%2fvba-macro-saving-outlook-emails-as-file-not-as-msg%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote













    You can use subject if the characters in the subject are all valid.



    Option Explicit

    Private Sub SaveMail_ContainingAttachments_ValidSubject()

    'Declare Variables
    Dim ns As Namespace
    Dim targetFolder As Folder
    Dim itm As Object
    Dim atmt As Attachment

    Dim strSaveFolder As String
    Dim validSubject As String

    Set ns = GetNamespace("MAPI")
    Set targetFolder = ns.GetDefaultFolder(olFolderInbox)
    Set targetFolder = targetFolder.Folders("Today")

    'Stop script if there are no emails
    If targetFolder.Items.count = 0 Then
    MsgBox "There are no messages in " & targetFolder & ".", vbInformation, "Nothing Found"
    Exit Sub
    End If

    'Display the number of emails
    MsgBox targetFolder.Items.count, vbInformation, "Number of Emails?"

    'Go through each email
    For Each itm In targetFolder.Items

    'If the email has attachments, then create a folder
    If itm.Attachments.count > 0 Then

    'Create a path for the save folder
    strSaveFolder = "C:UsersworkDesktop22_11_18Test" & itm.senderName

    ' Bypass error if the folder already exists
    On Error Resume Next
    MkDir strSaveFolder

    ' Discontinue error bypass as soon as the purpose is served
    ' Let unknown errors generate then fix them
    On Error GoTo 0

    ' Replace or remove invalid characters
    ' Possible options "_" or " " or "" ....
    validSubject = ReplaceIllegalChar(itm.subject, "_")
    If validSubject <> itm.subject Then
    Debug.Print itm.subject
    Debug.Print validSubject
    End If

    'Save the email as a .msg file
    itm.SaveAs strSaveFolder & "" & validSubject & ".msg"

    End If

    Next itm

    End Sub

    Private Function ReplaceIllegalChar(strInput, strReplace)

    Dim RegX As Object

    Set RegX = CreateObject("vbscript.regexp")

    RegX.Pattern = "[" & Chr(34) & "!@#$%^&*()=+|[]{}`';:<>?/,]"
    RegX.IgnoreCase = True
    RegX.Global = True

    ' Replace with another string
    ReplaceIllegalChar = RegX.Replace(strInput, strReplace)

    ExitFunction:

    Set RegX = Nothing

    End Function





    share|improve this answer

























      up vote
      0
      down vote













      You can use subject if the characters in the subject are all valid.



      Option Explicit

      Private Sub SaveMail_ContainingAttachments_ValidSubject()

      'Declare Variables
      Dim ns As Namespace
      Dim targetFolder As Folder
      Dim itm As Object
      Dim atmt As Attachment

      Dim strSaveFolder As String
      Dim validSubject As String

      Set ns = GetNamespace("MAPI")
      Set targetFolder = ns.GetDefaultFolder(olFolderInbox)
      Set targetFolder = targetFolder.Folders("Today")

      'Stop script if there are no emails
      If targetFolder.Items.count = 0 Then
      MsgBox "There are no messages in " & targetFolder & ".", vbInformation, "Nothing Found"
      Exit Sub
      End If

      'Display the number of emails
      MsgBox targetFolder.Items.count, vbInformation, "Number of Emails?"

      'Go through each email
      For Each itm In targetFolder.Items

      'If the email has attachments, then create a folder
      If itm.Attachments.count > 0 Then

      'Create a path for the save folder
      strSaveFolder = "C:UsersworkDesktop22_11_18Test" & itm.senderName

      ' Bypass error if the folder already exists
      On Error Resume Next
      MkDir strSaveFolder

      ' Discontinue error bypass as soon as the purpose is served
      ' Let unknown errors generate then fix them
      On Error GoTo 0

      ' Replace or remove invalid characters
      ' Possible options "_" or " " or "" ....
      validSubject = ReplaceIllegalChar(itm.subject, "_")
      If validSubject <> itm.subject Then
      Debug.Print itm.subject
      Debug.Print validSubject
      End If

      'Save the email as a .msg file
      itm.SaveAs strSaveFolder & "" & validSubject & ".msg"

      End If

      Next itm

      End Sub

      Private Function ReplaceIllegalChar(strInput, strReplace)

      Dim RegX As Object

      Set RegX = CreateObject("vbscript.regexp")

      RegX.Pattern = "[" & Chr(34) & "!@#$%^&*()=+|[]{}`';:<>?/,]"
      RegX.IgnoreCase = True
      RegX.Global = True

      ' Replace with another string
      ReplaceIllegalChar = RegX.Replace(strInput, strReplace)

      ExitFunction:

      Set RegX = Nothing

      End Function





      share|improve this answer























        up vote
        0
        down vote










        up vote
        0
        down vote









        You can use subject if the characters in the subject are all valid.



        Option Explicit

        Private Sub SaveMail_ContainingAttachments_ValidSubject()

        'Declare Variables
        Dim ns As Namespace
        Dim targetFolder As Folder
        Dim itm As Object
        Dim atmt As Attachment

        Dim strSaveFolder As String
        Dim validSubject As String

        Set ns = GetNamespace("MAPI")
        Set targetFolder = ns.GetDefaultFolder(olFolderInbox)
        Set targetFolder = targetFolder.Folders("Today")

        'Stop script if there are no emails
        If targetFolder.Items.count = 0 Then
        MsgBox "There are no messages in " & targetFolder & ".", vbInformation, "Nothing Found"
        Exit Sub
        End If

        'Display the number of emails
        MsgBox targetFolder.Items.count, vbInformation, "Number of Emails?"

        'Go through each email
        For Each itm In targetFolder.Items

        'If the email has attachments, then create a folder
        If itm.Attachments.count > 0 Then

        'Create a path for the save folder
        strSaveFolder = "C:UsersworkDesktop22_11_18Test" & itm.senderName

        ' Bypass error if the folder already exists
        On Error Resume Next
        MkDir strSaveFolder

        ' Discontinue error bypass as soon as the purpose is served
        ' Let unknown errors generate then fix them
        On Error GoTo 0

        ' Replace or remove invalid characters
        ' Possible options "_" or " " or "" ....
        validSubject = ReplaceIllegalChar(itm.subject, "_")
        If validSubject <> itm.subject Then
        Debug.Print itm.subject
        Debug.Print validSubject
        End If

        'Save the email as a .msg file
        itm.SaveAs strSaveFolder & "" & validSubject & ".msg"

        End If

        Next itm

        End Sub

        Private Function ReplaceIllegalChar(strInput, strReplace)

        Dim RegX As Object

        Set RegX = CreateObject("vbscript.regexp")

        RegX.Pattern = "[" & Chr(34) & "!@#$%^&*()=+|[]{}`';:<>?/,]"
        RegX.IgnoreCase = True
        RegX.Global = True

        ' Replace with another string
        ReplaceIllegalChar = RegX.Replace(strInput, strReplace)

        ExitFunction:

        Set RegX = Nothing

        End Function





        share|improve this answer












        You can use subject if the characters in the subject are all valid.



        Option Explicit

        Private Sub SaveMail_ContainingAttachments_ValidSubject()

        'Declare Variables
        Dim ns As Namespace
        Dim targetFolder As Folder
        Dim itm As Object
        Dim atmt As Attachment

        Dim strSaveFolder As String
        Dim validSubject As String

        Set ns = GetNamespace("MAPI")
        Set targetFolder = ns.GetDefaultFolder(olFolderInbox)
        Set targetFolder = targetFolder.Folders("Today")

        'Stop script if there are no emails
        If targetFolder.Items.count = 0 Then
        MsgBox "There are no messages in " & targetFolder & ".", vbInformation, "Nothing Found"
        Exit Sub
        End If

        'Display the number of emails
        MsgBox targetFolder.Items.count, vbInformation, "Number of Emails?"

        'Go through each email
        For Each itm In targetFolder.Items

        'If the email has attachments, then create a folder
        If itm.Attachments.count > 0 Then

        'Create a path for the save folder
        strSaveFolder = "C:UsersworkDesktop22_11_18Test" & itm.senderName

        ' Bypass error if the folder already exists
        On Error Resume Next
        MkDir strSaveFolder

        ' Discontinue error bypass as soon as the purpose is served
        ' Let unknown errors generate then fix them
        On Error GoTo 0

        ' Replace or remove invalid characters
        ' Possible options "_" or " " or "" ....
        validSubject = ReplaceIllegalChar(itm.subject, "_")
        If validSubject <> itm.subject Then
        Debug.Print itm.subject
        Debug.Print validSubject
        End If

        'Save the email as a .msg file
        itm.SaveAs strSaveFolder & "" & validSubject & ".msg"

        End If

        Next itm

        End Sub

        Private Function ReplaceIllegalChar(strInput, strReplace)

        Dim RegX As Object

        Set RegX = CreateObject("vbscript.regexp")

        RegX.Pattern = "[" & Chr(34) & "!@#$%^&*()=+|[]{}`';:<>?/,]"
        RegX.IgnoreCase = True
        RegX.Global = True

        ' Replace with another string
        ReplaceIllegalChar = RegX.Replace(strInput, strReplace)

        ExitFunction:

        Set RegX = Nothing

        End Function






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 28 at 17:35









        niton

        5,37971941




        5,37971941






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53422235%2fvba-macro-saving-outlook-emails-as-file-not-as-msg%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)