diff --git a/Common/OfficeFileFormatChecker2.cpp b/Common/OfficeFileFormatChecker2.cpp index fa61fb2b71..2670b29bc2 100644 --- a/Common/OfficeFileFormatChecker2.cpp +++ b/Common/OfficeFileFormatChecker2.cpp @@ -1461,6 +1461,11 @@ int COfficeFileFormatChecker::GetFormatByExtension(const std::wstring &sExt) return AVS_OFFICESTUDIO_FILE_SPREADSHEET_OTS; if (L".ods" == ext) return AVS_OFFICESTUDIO_FILE_SPREADSHEET_ODS; + + if (L".ooxml" == ext) + return AVS_OFFICESTUDIO_FILE_OTHER_OOXML; + if (L".odf" == ext) + return AVS_OFFICESTUDIO_FILE_OTHER_ODF; if (L".pdf" == ext) return AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF; diff --git a/Common/OfficeFileFormats.h b/Common/OfficeFileFormats.h index c102a2a327..488dd27b4b 100644 --- a/Common/OfficeFileFormats.h +++ b/Common/OfficeFileFormats.h @@ -119,7 +119,7 @@ #define AVS_OFFICESTUDIO_FILE_OTHER_OLD_DOCUMENT AVS_OFFICESTUDIO_FILE_OTHER + 0x0004 #define AVS_OFFICESTUDIO_FILE_OTHER_OLD_PRESENTATION AVS_OFFICESTUDIO_FILE_OTHER + 0x0005 #define AVS_OFFICESTUDIO_FILE_OTHER_OLD_DRAWING AVS_OFFICESTUDIO_FILE_OTHER + 0x0006 -#define AVS_OFFICESTUDIO_FILE_OTHER_TEAMLAB_INNER AVS_OFFICESTUDIO_FILE_OTHER + 0x0007 +#define AVS_OFFICESTUDIO_FILE_OTHER_OOXML AVS_OFFICESTUDIO_FILE_OTHER + 0x0007 #define AVS_OFFICESTUDIO_FILE_OTHER_JSON AVS_OFFICESTUDIO_FILE_OTHER + 0x0008 // Для mail-merge #define AVS_OFFICESTUDIO_FILE_OTHER_ZIP AVS_OFFICESTUDIO_FILE_OTHER + 0x0009 #define AVS_OFFICESTUDIO_FILE_OTHER_ODF AVS_OFFICESTUDIO_FILE_OTHER + 0x000a diff --git a/X2tConverter/src/ASCConverters.cpp b/X2tConverter/src/ASCConverters.cpp index 2f09f35da2..8334ea94bd 100644 --- a/X2tConverter/src/ASCConverters.cpp +++ b/X2tConverter/src/ASCConverters.cpp @@ -4179,6 +4179,10 @@ namespace NExtractTools else nRes = AVS_FILEUTILS_ERROR_CONVERT_PARAMS; } + else if (AVS_OFFICESTUDIO_FILE_OTHER_OOXML == nFormatTo) + { + nRes = dir2zipMscrypt(sFrom, sTo, sTemp, params); + } else if (AVS_OFFICESTUDIO_FILE_CANVAS_WORD == nFormatTo) { nRes = docx_dir2doct_bin(sFromWithChanges, sTo, sTemp, params, sDocxFile); @@ -4461,7 +4465,11 @@ namespace NExtractTools const std::wstring &sFrom, const std::wstring &sTo, int nFormatTo, const std::wstring &sTemp, const std::wstring &sThemeDir, bool bPaid, InputParams ¶ms, const std::wstring &sXlsxFile) { _UINT32 nRes = S_OK; - if (AVS_OFFICESTUDIO_FILE_OTHER_JSON == nFormatTo) + if (AVS_OFFICESTUDIO_FILE_OTHER_OOXML == nFormatTo) + { + nRes = dir2zipMscrypt(sFrom, sTo, sTemp, params); + } + else if (AVS_OFFICESTUDIO_FILE_OTHER_JSON == nFormatTo) { nRes = xlsx_dir2xlst_bin(sFrom, sTo, params, true, sXlsxFile); } @@ -4849,6 +4857,10 @@ namespace NExtractTools else nRes = AVS_FILEUTILS_ERROR_CONVERT_PARAMS; } + else if (AVS_OFFICESTUDIO_FILE_OTHER_OOXML == nFormatTo) + { + nRes = dir2zipMscrypt(sFrom, sTo, sTemp, params); + } else if (AVS_OFFICESTUDIO_FILE_CANVAS_PRESENTATION == nFormatTo) { nRes = pptx_dir2pptt_bin(sFrom, sTo, sTemp, params, sPptxFile); @@ -5206,7 +5218,7 @@ namespace NExtractTools { switch (nFormatTo) { - case AVS_OFFICESTUDIO_FILE_OTHER_TEAMLAB_INNER: + case AVS_OFFICESTUDIO_FILE_OTHER_OOXML: nFormatTo = AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCX; break; case AVS_OFFICESTUDIO_FILE_OTHER_ODF: @@ -6031,20 +6043,22 @@ namespace NExtractTools break; case TCD_DOCUMENT2: { - oInputParams.m_bMacro = (nFormatTo == AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCM || nFormatTo == AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTM); + oInputParams.m_bMacro = ( nFormatTo == AVS_OFFICESTUDIO_FILE_DOCUMENT_DOCM || nFormatTo == AVS_OFFICESTUDIO_FILE_DOCUMENT_DOTM || + nFormatTo == AVS_OFFICESTUDIO_FILE_OTHER_OOXML); result = fromDocument(sFileFrom, nFormatFrom, sTempDir, oInputParams); } break; case TCD_SPREADSHEET2: { - oInputParams.m_bMacro = (nFormatTo == AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSM || nFormatTo == AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTM); + oInputParams.m_bMacro = ( nFormatTo == AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLSM || nFormatTo == AVS_OFFICESTUDIO_FILE_SPREADSHEET_XLTM || + nFormatTo == AVS_OFFICESTUDIO_FILE_OTHER_OOXML); result = fromSpreadsheet(sFileFrom, nFormatFrom, sTempDir, oInputParams); } break; case TCD_PRESENTATION2: { oInputParams.m_bMacro = ( nFormatTo == AVS_OFFICESTUDIO_FILE_PRESENTATION_PPTM || nFormatTo == AVS_OFFICESTUDIO_FILE_PRESENTATION_PPSM || - nFormatTo == AVS_OFFICESTUDIO_FILE_PRESENTATION_POTM); + nFormatTo == AVS_OFFICESTUDIO_FILE_PRESENTATION_POTM || nFormatTo == AVS_OFFICESTUDIO_FILE_OTHER_OOXML); result = fromPresentation(sFileFrom, nFormatFrom, sTempDir, oInputParams); } break; diff --git a/X2tConverter/src/cextracttools.h b/X2tConverter/src/cextracttools.h index 4a9fb27ee6..eaf015a30e 100644 --- a/X2tConverter/src/cextracttools.h +++ b/X2tConverter/src/cextracttools.h @@ -1127,7 +1127,7 @@ namespace NExtractTools toFormat = AVS_OFFICESTUDIO_FILE_CANVAS_WORD; } } - else if (AVS_OFFICESTUDIO_FILE_OTHER_TEAMLAB_INNER == toFormat || AVS_OFFICESTUDIO_FILE_OTHER_ODF == toFormat) + else if (AVS_OFFICESTUDIO_FILE_OTHER_OOXML == toFormat || AVS_OFFICESTUDIO_FILE_OTHER_ODF == toFormat) { if (AVS_OFFICESTUDIO_FILE_CANVAS_SPREADSHEET == formatFrom || AVS_OFFICESTUDIO_FILE_TEAMLAB_XLSY == formatFrom || 0 != (AVS_OFFICESTUDIO_FILE_SPREADSHEET & formatFrom)) {