Friend Shared Sub ActiveDrawingImportPageSetups(ByVal sTPath As String, ByVal sPSetupName As String) Dim file As Document = Application.DocumentManager.MdiActiveDocument Using db As Database = Application.DocumentManager.MdiActiveDocument.Database Call CopyPageSetup(sTPath, sPSetupName) db.SaveAs(file.Name, True, DwgVersion.Current, db.SecurityParameters) End Using 'Dim oAcadDoc As Object = file.AcadDocument 'oAcadDoc.GetType().InvokeMember("Save", Reflection.BindingFlags.InvokeMethod, Nothing, oAcadDoc, Nothing) 'oAcadDoc = Nothing End Sub Private Shared Sub CopyPageSetup(ByVal sTPath As String, ByVal sPSName As String) Using db As Database = Application.DocumentManager.MdiActiveDocument.Database Using docLock As DocumentLock = Application.DocumentManager.MdiActiveDocument.LockDocument Using sourceDb As Database = New Database(False, True) sourceDb.ReadDwgFile(sTPath, FileOpenMode.OpenForReadAndReadShare, False, "") Using sourceTr As Transaction = sourceDb.TransactionManager.StartTransaction Dim sourcePlotDict As DBDictionary = DirectCast(sourceDb.PlotSettingsDictionaryId.GetObject(OpenMode.ForRead), DBDictionary) Using tr As Transaction = db.TransactionManager.StartTransaction If sourcePlotDict.Contains(sPSName) Then Dim objId As ObjectId = sourcePlotDict.GetAt(sPSName) Dim pl As PlotSettings = DirectCast(objId.GetObject(OpenMode.ForRead), PlotSettings) Dim cpl As PlotSettings = New PlotSettings(True) Try cpl.CopyFrom(pl) cpl.AddToPlotSettingsDictionary(db) Dim bt As BlockTable = DirectCast(db.BlockTableId.GetObject(OpenMode.ForRead), BlockTable) Dim btr As BlockTableRecord = DirectCast(bt(BlockTableRecord.ModelSpace).GetObject(OpenMode.ForRead), BlockTableRecord) Dim lyobjId As ObjectId = (btr.LayoutId.GetObject(OpenMode.ForRead).ObjectId) Dim lytps As PlotSettings = DirectCast(lyobjId.GetObject(OpenMode.ForWrite), PlotSettings) lytps.CopyFrom(cpl) Catch End Try tr.Commit() End If End Using End Using End Using End Using End Using End Sub