Когда я передаю olMHTML, он сохраняет его с расширением .msg, но если я изменю расширение на .mht, он отлично работает как файл mht, и если у меня нет проблем с открытием файла с .msg расширение. Если я сохраню его как olMSGUnicode, он сохраняет без расширения, но добавление расширения .msg делает его отлично работающим как файл .msg.Метод MailItem SaveAs() FIletypes
Каков правильный способ сохранить как .mht как olMHTML, кажется, формат .msg, хотя кажется неправильным, потому что, как я уже сказал, у меня проблемы с открытием файла msg, но отлично работает при переименовании в .mht и olMSGUnicode, а 'Сохранить с расширением самостоятельно, открывает файл как файл .msg.
Чтобы быть ясным, почему olMHTML сохраняется как msg вместо mht? olMSGUnicode отлично работает для файлов msg, хотя они сохраняются без расширения, добавляя .msg, что делает их идеальными. Как и изменение olMHTML в .mht из .msg.
EDIT: Делая File.Move() после сохранения, я могу переименовать его в .mht, и он отлично работает, но было бы гораздо удобнее просто сохранить int в правильном формате.
EDIT2: Код по просьбе комментатора в:
if (!filename.EndsWith(".mht"))
{
filename = filename + ".mht";
}
try
{
message.SaveAs(path + filename, Microsoft.Office.Interop.Outlook.OlSaveAsType.olMHTML);
MessageBox.Show(String.Format("Success saving file {0} at {1}", filename, path), "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information);
string newfilename = filename.Substring(0, filename.Length - 4) + ".mht";
File.Move(path + filename, path + newfilename);
}
catch (System.Exception ex)
{
MessageBox.Show(String.Format("Error {0} while trying to save {1} at {2}", ex, filename, path), "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
я понял, что не обновляется, если заявление не будет .msg, она работает. Но все же не объясняет, почему при использовании olMHTML в качестве типа сохранения я получаю файл без расширения, а не с расширением .mht, и я должен указать его, а с другими типами SaveAs я этого не делаю. Но это вопрос другого дня. Я получаю ответ.
прочитайте документацию https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.olsaveastype.aspx, возможно, вы поймете, с чем она работает.mht – MethodMan
По-прежнему не объясняет, почему olMHTML сохраняет как msg – shenk
работает ли ваш интернет в отношении google? в любом случае посмотрите на этот разрешенный ответ https://social.msdn.microsoft.com/forums/office/en-US/d27f9085-c067-4e63-ba18-87e0eb1e8a10/saveas-mht-format – MethodMan