Для ВСЕХ !!! Пример макроса для печати обложки под DVD коробку (из отсканированного изображения оригинального диска)
Если Вы делаете копию ДВД диска, то хотелось бы чтобы и обложка копии была тоже похожа на оригинал.
Для этого нужно отсканировать оригинальную картинку диска и далее с помощью моего мекрос распечатать (он подгоняет размеры под необходимые).
Есть конечно специализированные программы для этого, но в моем случае это не выход, т.к. эти самые программы я не могу установить на работе (админы не датут), а дома нет принтера.
Вот для таких как я и предназначен макрос.
Вот "тело" макрорса :
Sub Обложка_DVD()
On Error Resume Next
Sheets("Обложка").Select
If Err > 0 Then GoTo 10 Else MsgBox ("Такой лист уже присутствует в книге..."): Exit Sub
10:
Sheets.Add.Name = "Обложка" ' создаем новый лист в текущей книге с именем "Обложка"
Sheets("Обложка").Range("A1").Select ' становимся в ячейку А1
Application.Dialogs(xlDialogInsertPicture).Show 'вызываем диологовое окно "Вставка рисунка из файла"
Selection.ShapeRange.LockAspectRatio = msoFalse '
' Selection.ShapeRange.Height = 530.25 ' подгоняем размеры под размеры коробки
' Selection.ShapeRange.Width = 726# '
Selection.ShapeRange.Height = 530.2 ' подгоняем размеры под размеры коробки
Selection.ShapeRange.Width = 724# '
Selection.ShapeRange.Rotation = 0# '
Selection.Locked = False '
With ActiveSheet.PageSetup ' разносим поля листа на максимальные расстояния
.LeftMargin = Application.InchesToPoints(0.17)
.RightMargin = Application.InchesToPoints(0.17)
.TopMargin = Application.InchesToPoints(0.27)
.BottomMargin = Application.InchesToPoints(0.27)
.HeaderMargin = Application.InchesToPoints(0.17)
.FooterMargin = Application.InchesToPoints(0.17)
.Zoom = 100
.FitToPagesWide = 1
.FitToPagesTall = 1
.Orientation = xlLandscape ' придаем листу горизантальное положение (АЛЬБОМНЫЙ)
End With
If MsgBox("Печать текущего изображения", vbYesNo, "Вывод на печать") = vbYes Then Sheets("Обложка").PrintOut Copies:=1, Collate:=True
Application.DisplayAlerts = False ' Выключили системные сообщения...
If MsgBox("Удалить лист ОБЛОЖКА", vbYesNo, "Удаление листа...") = vbYes Then Sheets("Обложка").Delete Else Application.CommandBars("Picture").Visible = True
Application.DisplayAlerts = True 'Включили системные сообщения...
End Sub
Во вложении блок VBA модуля(его можно импортировать в книгу).
Если Вы делаете копию ДВД диска, то хотелось бы чтобы и обложка копии была тоже похожа на оригинал.
Для этого нужно отсканировать оригинальную картинку диска и далее с помощью моего мекрос распечатать (он подгоняет размеры под необходимые).
Есть конечно специализированные программы для этого, но в моем случае это не выход, т.к. эти самые программы я не могу установить на работе (админы не датут), а дома нет принтера.
Вот для таких как я и предназначен макрос.
Вот "тело" макрорса :
Sub Обложка_DVD()
On Error Resume Next
Sheets("Обложка").Select
If Err > 0 Then GoTo 10 Else MsgBox ("Такой лист уже присутствует в книге..."): Exit Sub
10:
Sheets.Add.Name = "Обложка" ' создаем новый лист в текущей книге с именем "Обложка"
Sheets("Обложка").Range("A1").Select ' становимся в ячейку А1
Application.Dialogs(xlDialogInsertPicture).Show 'вызываем диологовое окно "Вставка рисунка из файла"
Selection.ShapeRange.LockAspectRatio = msoFalse '
' Selection.ShapeRange.Height = 530.25 ' подгоняем размеры под размеры коробки
' Selection.ShapeRange.Width = 726# '
Selection.ShapeRange.Height = 530.2 ' подгоняем размеры под размеры коробки
Selection.ShapeRange.Width = 724# '
Selection.ShapeRange.Rotation = 0# '
Selection.Locked = False '
With ActiveSheet.PageSetup ' разносим поля листа на максимальные расстояния
.LeftMargin = Application.InchesToPoints(0.17)
.RightMargin = Application.InchesToPoints(0.17)
.TopMargin = Application.InchesToPoints(0.27)
.BottomMargin = Application.InchesToPoints(0.27)
.HeaderMargin = Application.InchesToPoints(0.17)
.FooterMargin = Application.InchesToPoints(0.17)
.Zoom = 100
.FitToPagesWide = 1
.FitToPagesTall = 1
.Orientation = xlLandscape ' придаем листу горизантальное положение (АЛЬБОМНЫЙ)
End With
If MsgBox("Печать текущего изображения", vbYesNo, "Вывод на печать") = vbYes Then Sheets("Обложка").PrintOut Copies:=1, Collate:=True
Application.DisplayAlerts = False ' Выключили системные сообщения...
If MsgBox("Удалить лист ОБЛОЖКА", vbYesNo, "Удаление листа...") = vbYes Then Sheets("Обложка").Delete Else Application.CommandBars("Picture").Visible = True
Application.DisplayAlerts = True 'Включили системные сообщения...
End Sub
Во вложении блок VBA модуля(его можно импортировать в книгу).