У меня есть клиент, у которого есть 15 рабочих столов Mac и 10 рабочих столов Windows, и все они используют разные версии Office для работы со своими файлами.

Единственное решение, которое я могу придумать, чтобы предотвратить проблемы совместимости, - это преобразовать все файлы в единый формат PowerPoint.

Кто-нибудь может порекомендовать приложение, которое может это сделать? Я пока не готов написать сценарий.

6 ответов6

3

Вы найдете это трудной задачей для выполнения, и даже более того, если это происходит на постоянной основе. Проблема в том, что вам придется пересчитать в наименьший общий знаменатель. Например, если самая старая установленная версия Powerpoint - это Powerpoint 2000, все файлы должны быть преобразованы обратно в версию 2000. Хотя это возможно, это будет означать, что любые новые функции будут удалены из файла, если они используются в презентации. И это, вероятно, приведет к форматированию и другим проблемам в файле.

Если самая старая версия 2003 года, это немного проще. Существуют как программные утилиты, такие как предлагаемые Batchworks, так и онлайн-сервисы, такие как Zamzar, которые предлагают возможности конвертации, но ни одно из найденных мной программ или сервисов не обеспечивает хорошую совместимость с любой версией, более старой, чем 2003.

Лучшее решение - убедить клиента в том, что ему необходимо сократить разрыв между используемыми версиями, но я знаю, что зачастую это сложнее продать, чем пытаться объяснить все часы продуктивности, которые они теряют, не делая этого.

2

Есть только два формата, которые вам нужно выбрать. Новый pptx, который используется по умолчанию в Office 2007/2010 (и я полагаю, связанные версии Office Mac), и более старый .ppt, который является Office 2003 и более ранними версиями.

На мой взгляд, вы должны сделать новый формат pptx стандартом. Пользователи Office 2003 (и 2000/XP) могут установить пакет совместимости , чтобы открыть новые файлы pptx.

Если сделать это и выбрать новый формат, я не вижу необходимости пакетного преобразования старых файлов PPT. Office 2007 и более поздние версии все равно будут открываться и работать с ними нормально. В конечном итоге большинство файлов будут иметь формат pptx, особенно если вы начнете повторно сохранять ppt-файлы как pptx, когда столкнетесь с ними или затем измените их.

1

Ниже приведена другая модификация выше, без файлового диалога:

Sub BatchSave()
' Opens each PPT in the target folder and saves as PowerPoint 2007/2010 (.pptx) format

Dim sFolder As String
Dim sPresentationName As String
Dim oPresentation As Presentation    

sFolder = ActivePresentation.Path & "\"

' Open and save the presentations
sPresentationName = Dir$(sFolder & "*.PPT")
Do While sPresentationName <> ""
    Debug.Print sPresentationName
    If sPresentationName <> ActivePresentation.Name Then
        Set oPresentation = Presentations.Open(sFolder & sPresentationName, , , False)
        Call oPresentation.SaveAs(sFolder & sPresentationName)
        oPresentation.Close
    End If
    sPresentationName = Dir$
Loop   

MsgBox "DONE"

End Sub
1

Вы можете сделать так, чтобы все сохранили свои презентации в .pdf . Я не уверен, какие версии различных программ чтения PDF могут читать файлы .pdf, сгенерированные MS Office, но у вас должен получиться наименьший общий знаменатель.

0

Инструменты диспетчера планирования миграции Office можно использовать для пакетного преобразования файлов Office в версии файлов OpenXML - в формат .pptx. Инструментарий бесплатный и его можно найти в Центре загрузки Microsoft.

Конкретный инструмент, который вы хотите использовать, - конвертер файлов Office. Вы можете предоставить ему список файлов для конвертации или сделать так, чтобы он конвертировал файлы в указанном каталоге.

См. Справочную информацию TechNet здесь:

http://technet.microsoft.com/en-us/library/ff453909.aspx

0

Ниже приведена измененная версия макроса, который я нашел (http://www.pptfaq.com/FAQ00740_Batch_re-save_presentations-_update_older_presentations_to_newer_PowerPoint_version.htm)

Sub BatchSave()
' Opens each PPT in the target folder and saves as PowerPoint 2007/2010 (.pptx) format

Dim sFolder As String
Dim sPresentationName As String
Dim oPresentation As Presentation

' Select the folder:

Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.Title = "Select folder and click OK"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewList
If .Show <> -1 Then
    MsgBox "Cancelled By User", , "List Folder Contents"
    Exit Sub
End If
sFolder = fDialog.SelectedItems.Item(1)
If Right(sFolder, 1) <> "\" Then sFolder = sFolder + "\"
End With

' Make sure the folder name has a trailing backslash
If Right$(sFolder, 1) <> "\" Then
    sFolder = sFolder & "\"
End If

' Are there PPT files there?
If Len(Dir$(sFolder & "*.PPT")) = 0 Then
    MsgBox "Bad folder name or no PPT files in folder."
    Exit Sub
End If

' Open and save the presentations
sPresentationName = Dir$(sFolder & "*.PPT")
While sPresentationName <> ""
    Set oPresentation = Presentations.Open(sFolder & sPresentationName, , , False)
    Call oPresentation.SaveAs(sFolder & sPresentationName & "x")
    oPresentation.Close
Wend

MsgBox "DONE"

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .