Во вложении пример в dwg с блоком! и файл Excel с кодом - но не работает потому что не умею. Прикрепленный архив Пример и видео как это работает и сделано умными людьми по ссылке: Пакетная печать VBA из листа со многими ВЭ (adn-cis.org) В файле dwg блок есть. Должно по нажатию кнопки активировать кад, выделить мышью зону должен пользователь и напечатать в pdf все блоки. Желательно создать по дороге папку по пути файла эксель и сохранить туда pdf Понимаю что не вопрос по Excel, но судя по поиску форума тут есть люди которые в этом очень хорошо понимают. Помогите разобраться, плиз!
1.Не у всех установлены последние версии автокада. 2.Настроить лист в dwg для печати, указать принтер 3.Все это гораздо проще и с меньшими трудозатратами выполнять макросами с автокада. С печатью не все так просто
doober, вы помогали кому то на этом форуме с макросом блоки из Эксель в кад с атрибутами, тут бы хотелось какое то направление хотя бы доя формата а1 понять как из Эксель запустить. Ведь если из Эксель я накину рамок разных форматов потом под них создавать листы для публикации сложно. В 2020 скинул потому что непонятно почему файл с блоком в меньших кадах больше весит чем надо чуть позже пересохраню на более ранний вариант. С одним форматом если можно задайте направление из кеда макросом ни разу не пробовал выделение допустим объектов рамкой можно не делать выделить в каде сразу объекты потом из Эксель када окно активировать и передать Команды печати - такая идея
i = 0
For Each objEnt In ss
If objEnt.ObjectName = "AcDbBlockReference" Then
Set objBRef = objEnt
If objBRef.EffectiveName = "А1ашб" Then
pt1 = objBRef.InsertionPoint
varAttributes = objBRef.GetAttributes
l = varAttributes(4).TextString
'pt1 = ThisDrawing.Utility.TranslateCoordinates(pt1, acWorld, acDisplayDCS, False)
ReDim Preserve pt1(0 To 1)
pt2(0) = pt1(0) + 84100
pt2(1) = pt1(1) + 59400
i = i + 1
PolyPlot acadDoc, ActiveWorkbook.Path + "\" + CStr(n) + " - Лист " + CStr(l) + " - А1", pt1, pt2
End If
End If
Next
End Sub
Sub PolyPlot(ByRef acadDoc, strFileName As String, pt1 As Variant, pt2 As Variant)
Dim Layout As AcadLayout
Set Layout = acadDoc.ActiveLayout
Layout.RefreshPlotDeviceInfo
Layout.ConfigName = "DWG To PDF.pc3"
acadDoc.SetVariable "BACKGROUNDPLOT", 0
Layout.CanonicalMediaName = "ISO_full_bleed_A1_(841.00_x_594.00_MM)"
Layout.CenterPlot = True
Layout.PlotRotation = ac0degrees
Layout.StandardScale = acScaleToFit
Layout.StyleSheet = "acad.ctb"
Layout.SetWindowToPlot pt1, pt2
Layout.PlotType = acWindow
acadDoc.Regen acAllViewports
acadDoc.Plot.PlotToFile strFileName
End Sub
По книжной ориентации понятно - пока отдельным модулем так же прописать. Остается вопрос как в одном модуле условия прописать. А так же вопрос встал pdf кроме постраничных файлов в общий pdf собрать (публикацию)
doober, ответы Ваши прям меня радуют - дальше пошел искать-читать-смотреть-спрашивать/ Как через командную строку автокад создать нестандартный формат без полей .pc3 допустим 1200х594 ?