#post-id: 4198-16-42 #original-date: 23.01.2012 Mon #original-time: 4:42 PM #original-day: 4198 #original-host: WinXP Prof SP3 (Build 2600) У меня тут на нескольких машинах возникла проблема с Microsoft Document Imaging от Office 2003. Открываешь меню Файл, и программа вылетает. Я так поняла, там какой-то баг с выводом списка последних документов, и в некоторых случаях вылета не случается. А она мне нужна для конвертации MDI файлов в TIF, ибо офисофский "принтер" выдаёт TIF только в однобином цвете (чёрная или белая точка), а оттенки серого - в MDI. Поэтому чтобы получить "распечатку" в JPG, нужно "распечатать" в MDI, сконвертировать в TIF, а потом сконвертировать в JPG. Ну там, скажем, если нужно получить "сканы" документов с картинками. Тоесть MDI файлы ходовые утилиты вроде ACDSee и IrfanView не открывают, конвертировать больше нечем, а хоткея на "Сохранить как" нет. Что делать? Писать скрипт! Благо эта программа имеет COM объекты, с которыми можно работать из VBS! Скрипт писался из соображений красивости, так что не ругайтесь на "слишком много сервиса" ^^' > Option Explicit > > Dim Doc > Dim InFileName > Dim OutFileName > > Const AppTitle = "AJPapps - MDI2TIFF" > > Const miCOMP_LEVEL_LOW = 0 > Const miCOMP_LEVEL_MEDIUM = 1 > Const miCOMP_LEVEL_HIGH = 2 > > Const miFILE_FORMAT_DEFAULTVALUE = -1 > Const miFILE_FORMAT_TIFF = 1 > Const miFILE_FORMAT_TIFF_LOSSLESS = 2 > Const miFILE_FORMAT_MDI = 4 > > If WScript.Arguments.Count = 1 Then > InFileName = WScript.Arguments(0) > Else > MsgBox "Usage: MDI2TIF.VBS MDIFileName", vbInformation, AppTitle > WScript.Quit > End If > > If UCase(Right(InFileName, 4)) <> ".MDI" Then > MsgBox "File must have MDI extension.", vbCritical, AppTitle > WScript.Quit > End If > > OutFileName = Left(InFileName, Len(InFileName) - 3) & "TIF" > > On Error Resume Next > > Set Doc = CreateObject("MODI.Document") > If Err.Number <> 0 Then > MsgBox "Can't create MODI object.", vbCritical, AppTitle > WScript.Quit > End If > > Doc.Create InFileName > If Err.Number <> 0 Then > MsgBox InFileName & vbCrLf & vbCrLf & _ > "Can't open MDI file.", _ > vbCritical, AppTitle > WScript.Quit > End If > > Doc.SaveAs OutFileName, miFILE_FORMAT_TIFF, miCOMP_LEVEL_HIGH > If Err.Number <> 0 Then > MsgBox OutFileName & vbCrLf & vbCrLf & _ > "Can't save TIFF file.", _ > vbCritical, AppTitle > WScript.Quit > End If > > Doc.Close > Set Doc = Nothing > > MsgBox OutFileName & vbCrLf & vbCrLf & _ > "File was saved succesfully.", _ > vbInformation, AppTitle