<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: CloseAndSave problem in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371192#M72919</link>
    <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;Many thanks Tony, as ever. Is there a programmatic &lt;BR /&gt;
equivalent of attsync or a workaround you can think of?&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;Dave Preston&lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV&gt;"Tony Tanzillo" &amp;lt;&lt;A&gt;&lt;BR /&gt;
  href="mailto:tony.tanzillo@THE_URL_BELOW.com"&amp;gt;tony.tanzillo@THE_URL_BELOW.com&lt;/A&gt;&amp;gt; &lt;BR /&gt;
  wrote in message &lt;A&gt;&lt;BR /&gt;
  href="news:6061678@discussion.autodesk.com"&amp;gt;news:6061678@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;Reading this newsgroup and searching (if you can, that is) &lt;BR /&gt;
  on&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;the phrase 'SendStringToExecute' might help.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;SendStringToExecute() is just like VBA's SendCommand(), &lt;BR /&gt;
  it's&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;asynchronous, meaning that it returns before the commands &lt;BR /&gt;
  that&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;you pass it have finished.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;For that reason, I seriously doubt that what you're &lt;BR /&gt;
  attempting&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;to do is going to work.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD 2000 &lt;BR /&gt;
  through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;BLOCKQUOTE&gt;&lt;BR /&gt;
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
    &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
    href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
    wrote in message &lt;A&gt;&lt;BR /&gt;
    href="news:6061627@discussion.autodesk.com"&amp;gt;news:6061627@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;The &lt;BR /&gt;
    following replaces all blocks with a file form disk then synchronises &lt;BR /&gt;
    &lt;BR /&gt;attributes:-&lt;BR /&gt;&lt;BR /&gt;Public Sub RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Dim doc As Document = &lt;BR /&gt;
    Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Using docLock As DocumentLock = &lt;BR /&gt;
    &lt;BR /&gt;Application.DocumentManager.MdiActiveDocument.LockDocument()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Dim db As Database = doc.Database&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ed As Editor &lt;BR /&gt;
    = doc.Editor&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim trans As Transaction = &lt;BR /&gt;
    db.TransactionManager.StartTransaction()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;BR /&gt;&lt;BR /&gt;'code to &lt;BR /&gt;
    replace blocks here&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
    If&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    trans.Commit()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
    System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Finally&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; trans.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    End Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.SendStringToExecute("_attsync n *" &lt;BR /&gt;
    &amp;amp; ControlChars.Cr, True, False, &lt;BR /&gt;False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    ed.Regen()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
    Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This works perfectly well, but if I call it from a &lt;BR /&gt;
    routine that opens a file &lt;BR /&gt;it all works except the attsync. The blocks &lt;BR /&gt;
    actually get swapped and if I &lt;BR /&gt;exit the loop before the doc.closeandsave &lt;BR /&gt;
    line the attributes actually &lt;BR /&gt;update. It's probably something basic but &lt;BR /&gt;
    it's baffled me:-&lt;BR /&gt;&lt;BR /&gt;Sub ProcessAllDWGS()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dir As New &lt;BR /&gt;
    DirectoryInfo("L:\work\ASDA\StoreSpace\Drawings\Final &lt;BR /&gt;
    &lt;BR /&gt;QA")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim files() As &lt;BR /&gt;
    FileInfo&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = &lt;BR /&gt;
    dir.GetFiles("*.dwg")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For &lt;BR /&gt;
    Each file As FileInfo In &lt;BR /&gt;
    files&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Dim doc As Document = &lt;BR /&gt;Application.DocumentManager.Open(file.FullName, &lt;BR /&gt;
    False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    doc.CloseAndSave(file.FullName)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    doc.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Next&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
    System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
    Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Dave &lt;BR /&gt;
Preston&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
    <pubDate>Wed, 29 Oct 2008 14:50:44 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2008-10-29T14:50:44Z</dc:date>
    <item>
      <title>CloseAndSave problem</title>
      <link>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371190#M72917</link>
      <description>The following replaces all blocks with a file form disk then synchronises &lt;BR /&gt;
attributes:-&lt;BR /&gt;
&lt;BR /&gt;
Public Sub RefreshBlocks()&lt;BR /&gt;
&lt;BR /&gt;
    Dim doc As Document = Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;
&lt;BR /&gt;
    Using docLock As DocumentLock = &lt;BR /&gt;
Application.DocumentManager.MdiActiveDocument.LockDocument()&lt;BR /&gt;
&lt;BR /&gt;
    Dim db As Database = doc.Database&lt;BR /&gt;
&lt;BR /&gt;
    Dim ed As Editor = doc.Editor&lt;BR /&gt;
&lt;BR /&gt;
    Dim trans As Transaction = db.TransactionManager.StartTransaction()&lt;BR /&gt;
&lt;BR /&gt;
    Try&lt;BR /&gt;
&lt;BR /&gt;
        If&lt;BR /&gt;
&lt;BR /&gt;
'code to replace blocks here&lt;BR /&gt;
&lt;BR /&gt;
        End If&lt;BR /&gt;
&lt;BR /&gt;
        trans.Commit()&lt;BR /&gt;
&lt;BR /&gt;
    Catch ex As System.Exception&lt;BR /&gt;
&lt;BR /&gt;
        MsgBox(ex.Message)&lt;BR /&gt;
&lt;BR /&gt;
    Finally&lt;BR /&gt;
&lt;BR /&gt;
    trans.Dispose()&lt;BR /&gt;
&lt;BR /&gt;
    End Try&lt;BR /&gt;
&lt;BR /&gt;
    doc.SendStringToExecute("_attsync n *" &amp;amp; ControlChars.Cr, True, False, &lt;BR /&gt;
False)&lt;BR /&gt;
&lt;BR /&gt;
    ed.Regen()&lt;BR /&gt;
&lt;BR /&gt;
    End Using&lt;BR /&gt;
&lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
This works perfectly well, but if I call it from a routine that opens a file &lt;BR /&gt;
it all works except the attsync. The blocks actually get swapped and if I &lt;BR /&gt;
exit the loop before the doc.closeandsave line the attributes actually &lt;BR /&gt;
update. It's probably something basic but it's baffled me:-&lt;BR /&gt;
&lt;BR /&gt;
Sub ProcessAllDWGS()&lt;BR /&gt;
&lt;BR /&gt;
    Try&lt;BR /&gt;
&lt;BR /&gt;
        Dim dir As New DirectoryInfo("L:\work\ASDA\StoreSpace\Drawings\Final &lt;BR /&gt;
QA")&lt;BR /&gt;
&lt;BR /&gt;
        Dim files() As FileInfo&lt;BR /&gt;
&lt;BR /&gt;
        files = dir.GetFiles("*.dwg")&lt;BR /&gt;
&lt;BR /&gt;
        For Each file As FileInfo In files&lt;BR /&gt;
&lt;BR /&gt;
            Dim doc As Document = &lt;BR /&gt;
Application.DocumentManager.Open(file.FullName, False)&lt;BR /&gt;
&lt;BR /&gt;
            RefreshBlocks()&lt;BR /&gt;
&lt;BR /&gt;
            doc.CloseAndSave(file.FullName)&lt;BR /&gt;
&lt;BR /&gt;
            doc.Dispose()&lt;BR /&gt;
&lt;BR /&gt;
        Next&lt;BR /&gt;
&lt;BR /&gt;
    Catch ex As System.Exception&lt;BR /&gt;
&lt;BR /&gt;
        MsgBox(ex.Message)&lt;BR /&gt;
&lt;BR /&gt;
    End Try&lt;BR /&gt;
&lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
-- &lt;BR /&gt;
Regards&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Dave Preston</description>
      <pubDate>Wed, 29 Oct 2008 14:23:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371190#M72917</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-10-29T14:23:00Z</dc:date>
    </item>
    <item>
      <title>Re: CloseAndSave problem</title>
      <link>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371191#M72918</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;Reading this newsgroup and searching (if you can, that is) &lt;BR /&gt;
on&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;the phrase 'SendStringToExecute' might help.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;SendStringToExecute() is just like VBA's SendCommand(), &lt;BR /&gt;
it's&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;asynchronous, meaning that it returns before the commands &lt;BR /&gt;
that&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;you pass it have finished.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;For that reason, I seriously doubt that what you're &lt;BR /&gt;
attempting&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;to do is going to work.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD 2000 &lt;BR /&gt;
through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
  href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
  wrote in message &lt;A&gt;&lt;BR /&gt;
  href="news:6061627@discussion.autodesk.com"&amp;gt;news:6061627@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;The &lt;BR /&gt;
  following replaces all blocks with a file form disk then synchronises &lt;BR /&gt;
  &lt;BR /&gt;attributes:-&lt;BR /&gt;&lt;BR /&gt;Public Sub RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  Dim doc As Document = &lt;BR /&gt;
  Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using &lt;BR /&gt;
  docLock As DocumentLock = &lt;BR /&gt;
  &lt;BR /&gt;Application.DocumentManager.MdiActiveDocument.LockDocument()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  Dim db As Database = doc.Database&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ed As Editor = &lt;BR /&gt;
  doc.Editor&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim trans As Transaction = &lt;BR /&gt;
  db.TransactionManager.StartTransaction()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;BR /&gt;&lt;BR /&gt;'code to &lt;BR /&gt;
  replace blocks here&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
  If&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  trans.Commit()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
  System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Finally&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  trans.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  doc.SendStringToExecute("_attsync n *" &amp;amp; ControlChars.Cr, True, False, &lt;BR /&gt;
  &lt;BR /&gt;False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ed.Regen()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
  Using&lt;BR /&gt;&lt;BR /&gt;End Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This works perfectly well, but if I call &lt;BR /&gt;
  it from a routine that opens a file &lt;BR /&gt;it all works except the attsync. The &lt;BR /&gt;
  blocks actually get swapped and if I &lt;BR /&gt;exit the loop before the &lt;BR /&gt;
  doc.closeandsave line the attributes actually &lt;BR /&gt;update. It's probably &lt;BR /&gt;
  something basic but it's baffled me:-&lt;BR /&gt;&lt;BR /&gt;Sub &lt;BR /&gt;
  ProcessAllDWGS()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dir As New &lt;BR /&gt;
  DirectoryInfo("L:\work\ASDA\StoreSpace\Drawings\Final &lt;BR /&gt;
  &lt;BR /&gt;QA")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim files() As &lt;BR /&gt;
  FileInfo&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = &lt;BR /&gt;
  dir.GetFiles("*.dwg")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For &lt;BR /&gt;
  Each file As FileInfo In &lt;BR /&gt;
  files&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  Dim doc As Document = &lt;BR /&gt;Application.DocumentManager.Open(file.FullName, &lt;BR /&gt;
  False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  doc.CloseAndSave(file.FullName)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  doc.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  Next&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
  System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
  MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
  Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Dave Preston&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Oct 2008 14:42:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371191#M72918</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-10-29T14:42:31Z</dc:date>
    </item>
    <item>
      <title>Re: CloseAndSave problem</title>
      <link>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371192#M72919</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;Many thanks Tony, as ever. Is there a programmatic &lt;BR /&gt;
equivalent of attsync or a workaround you can think of?&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;Dave Preston&lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV&gt;"Tony Tanzillo" &amp;lt;&lt;A&gt;&lt;BR /&gt;
  href="mailto:tony.tanzillo@THE_URL_BELOW.com"&amp;gt;tony.tanzillo@THE_URL_BELOW.com&lt;/A&gt;&amp;gt; &lt;BR /&gt;
  wrote in message &lt;A&gt;&lt;BR /&gt;
  href="news:6061678@discussion.autodesk.com"&amp;gt;news:6061678@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;Reading this newsgroup and searching (if you can, that is) &lt;BR /&gt;
  on&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;the phrase 'SendStringToExecute' might help.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;SendStringToExecute() is just like VBA's SendCommand(), &lt;BR /&gt;
  it's&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;asynchronous, meaning that it returns before the commands &lt;BR /&gt;
  that&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;you pass it have finished.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;For that reason, I seriously doubt that what you're &lt;BR /&gt;
  attempting&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;to do is going to work.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD 2000 &lt;BR /&gt;
  through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;BLOCKQUOTE&gt;&lt;BR /&gt;
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
    &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
    href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
    wrote in message &lt;A&gt;&lt;BR /&gt;
    href="news:6061627@discussion.autodesk.com"&amp;gt;news:6061627@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;The &lt;BR /&gt;
    following replaces all blocks with a file form disk then synchronises &lt;BR /&gt;
    &lt;BR /&gt;attributes:-&lt;BR /&gt;&lt;BR /&gt;Public Sub RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Dim doc As Document = &lt;BR /&gt;
    Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Using docLock As DocumentLock = &lt;BR /&gt;
    &lt;BR /&gt;Application.DocumentManager.MdiActiveDocument.LockDocument()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Dim db As Database = doc.Database&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ed As Editor &lt;BR /&gt;
    = doc.Editor&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim trans As Transaction = &lt;BR /&gt;
    db.TransactionManager.StartTransaction()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;BR /&gt;&lt;BR /&gt;'code to &lt;BR /&gt;
    replace blocks here&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
    If&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    trans.Commit()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
    System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Finally&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; trans.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    End Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.SendStringToExecute("_attsync n *" &lt;BR /&gt;
    &amp;amp; ControlChars.Cr, True, False, &lt;BR /&gt;False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    ed.Regen()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
    Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This works perfectly well, but if I call it from a &lt;BR /&gt;
    routine that opens a file &lt;BR /&gt;it all works except the attsync. The blocks &lt;BR /&gt;
    actually get swapped and if I &lt;BR /&gt;exit the loop before the doc.closeandsave &lt;BR /&gt;
    line the attributes actually &lt;BR /&gt;update. It's probably something basic but &lt;BR /&gt;
    it's baffled me:-&lt;BR /&gt;&lt;BR /&gt;Sub ProcessAllDWGS()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dir As New &lt;BR /&gt;
    DirectoryInfo("L:\work\ASDA\StoreSpace\Drawings\Final &lt;BR /&gt;
    &lt;BR /&gt;QA")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim files() As &lt;BR /&gt;
    FileInfo&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = &lt;BR /&gt;
    dir.GetFiles("*.dwg")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For &lt;BR /&gt;
    Each file As FileInfo In &lt;BR /&gt;
    files&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Dim doc As Document = &lt;BR /&gt;Application.DocumentManager.Open(file.FullName, &lt;BR /&gt;
    False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    doc.CloseAndSave(file.FullName)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    doc.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    Next&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
    System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
    MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
    Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Dave &lt;BR /&gt;
Preston&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Oct 2008 14:50:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371192#M72919</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-10-29T14:50:44Z</dc:date>
    </item>
    <item>
      <title>Re: CloseAndSave problem</title>
      <link>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371193#M72920</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;I suppose I could run ScriptPro on all files and &lt;BR /&gt;
just do the attsync in a script file&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;&lt;/FONT&gt;&lt;FONT face="Arial" size="2"&gt;&lt;/FONT&gt;&lt;BR /&gt;-- &lt;BR /&gt;
&lt;BR /&gt;Regards&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;Dave Preston&lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
  href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
  wrote in message &lt;A&gt;&lt;BR /&gt;
  href="news:6061664@discussion.autodesk.com"&amp;gt;news:6061664@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;Many thanks Tony, as ever. Is there a &lt;BR /&gt;
  programmatic equivalent of attsync or a workaround you can think &lt;BR /&gt;
  of?&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;Dave Preston&lt;/DIV&gt;&lt;BR /&gt;
  &lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
    &lt;DIV&gt;"Tony Tanzillo" &amp;lt;&lt;A&gt;&lt;BR /&gt;
    href="mailto:tony.tanzillo@THE_URL_BELOW.com"&amp;gt;tony.tanzillo@THE_URL_BELOW.com&lt;/A&gt;&amp;gt; &lt;BR /&gt;
    wrote in message &lt;A&gt;&lt;BR /&gt;
    href="news:6061678@discussion.autodesk.com"&amp;gt;news:6061678@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;Reading this newsgroup and searching (if you can, that is) &lt;BR /&gt;
    on&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;the phrase 'SendStringToExecute' might help.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;SendStringToExecute() is just like VBA's SendCommand(), &lt;BR /&gt;
    it's&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;asynchronous, meaning that it returns before the commands &lt;BR /&gt;
    that&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;you pass it have finished.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;For that reason, I seriously doubt that what you're &lt;BR /&gt;
    attempting&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;to do is going to work.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
    href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD &lt;BR /&gt;
    2000 through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
    href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
    href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;BLOCKQUOTE&gt;&lt;BR /&gt;
    style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
      &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
      href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
      wrote in message &lt;A&gt;&lt;BR /&gt;
      href="news:6061627@discussion.autodesk.com"&amp;gt;news:6061627@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;The &lt;BR /&gt;
      following replaces all blocks with a file form disk then synchronises &lt;BR /&gt;
      &lt;BR /&gt;attributes:-&lt;BR /&gt;&lt;BR /&gt;Public Sub &lt;BR /&gt;
      RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim doc As Document = &lt;BR /&gt;
      Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Using docLock As DocumentLock = &lt;BR /&gt;
      &lt;BR /&gt;Application.DocumentManager.MdiActiveDocument.LockDocument()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Dim db As Database = doc.Database&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ed As &lt;BR /&gt;
      Editor = doc.Editor&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim trans As Transaction = &lt;BR /&gt;
      db.TransactionManager.StartTransaction()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;BR /&gt;&lt;BR /&gt;'code to &lt;BR /&gt;
      replace blocks here&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
      If&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      trans.Commit()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
      System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Finally&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      trans.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
      Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.SendStringToExecute("_attsync n *" &amp;amp; &lt;BR /&gt;
      ControlChars.Cr, True, False, &lt;BR /&gt;False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      ed.Regen()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
      Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This works perfectly well, but if I call it from a &lt;BR /&gt;
      routine that opens a file &lt;BR /&gt;it all works except the attsync. The blocks &lt;BR /&gt;
      actually get swapped and if I &lt;BR /&gt;exit the loop before the &lt;BR /&gt;
      doc.closeandsave line the attributes actually &lt;BR /&gt;update. It's probably &lt;BR /&gt;
      something basic but it's baffled me:-&lt;BR /&gt;&lt;BR /&gt;Sub &lt;BR /&gt;
      ProcessAllDWGS()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dir As New &lt;BR /&gt;
      DirectoryInfo("L:\work\ASDA\StoreSpace\Drawings\Final &lt;BR /&gt;
      &lt;BR /&gt;QA")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim files() As &lt;BR /&gt;
      FileInfo&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = &lt;BR /&gt;
      dir.GetFiles("*.dwg")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      For Each file As FileInfo In &lt;BR /&gt;
      files&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Dim doc As Document = &lt;BR /&gt;Application.DocumentManager.Open(file.FullName, &lt;BR /&gt;
      False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      doc.CloseAndSave(file.FullName)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      doc.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Next&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
      System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
      Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Dave &lt;BR /&gt;
  Preston&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Oct 2008 14:57:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371193#M72920</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-10-29T14:57:08Z</dc:date>
    </item>
    <item>
      <title>Re: CloseAndSave problem</title>
      <link>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371194#M72921</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;Aside from writing your own attsync, I think the &lt;BR /&gt;
only&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT size="2"&gt;alternative is script pro.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD 2000 &lt;BR /&gt;
through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
  href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
  wrote in message &lt;A&gt;&lt;BR /&gt;
  href="news:6061664@discussion.autodesk.com"&amp;gt;news:6061664@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;Many thanks Tony, as ever. Is there a &lt;BR /&gt;
  programmatic equivalent of attsync or a workaround you can think &lt;BR /&gt;
  of?&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;Dave Preston&lt;/DIV&gt;&lt;BR /&gt;
  &lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
    &lt;DIV&gt;"Tony Tanzillo" &amp;lt;&lt;A&gt;&lt;BR /&gt;
    href="mailto:tony.tanzillo@THE_URL_BELOW.com"&amp;gt;tony.tanzillo@THE_URL_BELOW.com&lt;/A&gt;&amp;gt; &lt;BR /&gt;
    wrote in message &lt;A&gt;&lt;BR /&gt;
    href="news:6061678@discussion.autodesk.com"&amp;gt;news:6061678@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;Reading this newsgroup and searching (if you can, that is) &lt;BR /&gt;
    on&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;the phrase 'SendStringToExecute' might help.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;SendStringToExecute() is just like VBA's SendCommand(), &lt;BR /&gt;
    it's&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;asynchronous, meaning that it returns before the commands &lt;BR /&gt;
    that&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;you pass it have finished.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;For that reason, I seriously doubt that what you're &lt;BR /&gt;
    attempting&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;to do is going to work.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
    href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD &lt;BR /&gt;
    2000 through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
    href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
    href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;BLOCKQUOTE&gt;&lt;BR /&gt;
    style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
      &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
      href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
      wrote in message &lt;A&gt;&lt;BR /&gt;
      href="news:6061627@discussion.autodesk.com"&amp;gt;news:6061627@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;The &lt;BR /&gt;
      following replaces all blocks with a file form disk then synchronises &lt;BR /&gt;
      &lt;BR /&gt;attributes:-&lt;BR /&gt;&lt;BR /&gt;Public Sub &lt;BR /&gt;
      RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim doc As Document = &lt;BR /&gt;
      Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Using docLock As DocumentLock = &lt;BR /&gt;
      &lt;BR /&gt;Application.DocumentManager.MdiActiveDocument.LockDocument()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Dim db As Database = doc.Database&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ed As &lt;BR /&gt;
      Editor = doc.Editor&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim trans As Transaction = &lt;BR /&gt;
      db.TransactionManager.StartTransaction()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;BR /&gt;&lt;BR /&gt;'code to &lt;BR /&gt;
      replace blocks here&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
      If&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      trans.Commit()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
      System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Finally&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      trans.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
      Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.SendStringToExecute("_attsync n *" &amp;amp; &lt;BR /&gt;
      ControlChars.Cr, True, False, &lt;BR /&gt;False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      ed.Regen()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
      Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This works perfectly well, but if I call it from a &lt;BR /&gt;
      routine that opens a file &lt;BR /&gt;it all works except the attsync. The blocks &lt;BR /&gt;
      actually get swapped and if I &lt;BR /&gt;exit the loop before the &lt;BR /&gt;
      doc.closeandsave line the attributes actually &lt;BR /&gt;update. It's probably &lt;BR /&gt;
      something basic but it's baffled me:-&lt;BR /&gt;&lt;BR /&gt;Sub &lt;BR /&gt;
      ProcessAllDWGS()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dir As New &lt;BR /&gt;
      DirectoryInfo("L:\work\ASDA\StoreSpace\Drawings\Final &lt;BR /&gt;
      &lt;BR /&gt;QA")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim files() As &lt;BR /&gt;
      FileInfo&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = &lt;BR /&gt;
      dir.GetFiles("*.dwg")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      For Each file As FileInfo In &lt;BR /&gt;
      files&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Dim doc As Document = &lt;BR /&gt;Application.DocumentManager.Open(file.FullName, &lt;BR /&gt;
      False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      doc.CloseAndSave(file.FullName)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      doc.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      Next&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
      System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
      MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
      Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Dave &lt;BR /&gt;
  Preston&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Oct 2008 15:03:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371194#M72921</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-10-29T15:03:52Z</dc:date>
    </item>
    <item>
      <title>Re: CloseAndSave problem</title>
      <link>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371195#M72922</link>
      <description>&lt;DIV id="jive-html-wrapper-div"&gt;
&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;I've already run the first phase that swaps the &lt;BR /&gt;
blocks on 500+ files&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;The problem with ScriptPro is that it is slow. &lt;BR /&gt;
Never mind, thanks for your help Tony&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV&gt;Dave Preston&lt;/DIV&gt;&lt;BR /&gt;
&lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
  &lt;DIV&gt;"Tony Tanzillo" &amp;lt;&lt;A&gt;&lt;BR /&gt;
  href="mailto:tony.tanzillo@THE_URL_BELOW.com"&amp;gt;tony.tanzillo@THE_URL_BELOW.com&lt;/A&gt;&amp;gt; &lt;BR /&gt;
  wrote in message &lt;A&gt;&lt;BR /&gt;
  href="news:6061686@discussion.autodesk.com"&amp;gt;news:6061686@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;Aside from writing your own attsync, I think the &lt;BR /&gt;
  only&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;FONT size="2"&gt;alternative is script pro.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD 2000 &lt;BR /&gt;
  through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
  href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
  &lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
    &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
    href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
    wrote in message &lt;A&gt;&lt;BR /&gt;
    href="news:6061664@discussion.autodesk.com"&amp;gt;news:6061664@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;FONT face="Arial" size="2"&gt;Many thanks Tony, as ever. Is there a &lt;BR /&gt;
    programmatic equivalent of attsync or a workaround you can think &lt;BR /&gt;
    of?&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
    &lt;DIV&gt;Dave Preston&lt;/DIV&gt;&lt;BR /&gt;
    &lt;BLOCKQUOTE dir="ltr"&gt;&lt;BR /&gt;
    style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
      &lt;DIV&gt;"Tony Tanzillo" &amp;lt;&lt;A&gt;&lt;BR /&gt;
      href="mailto:tony.tanzillo@THE_URL_BELOW.com"&amp;gt;tony.tanzillo@THE_URL_BELOW.com&lt;/A&gt;&amp;gt; &lt;BR /&gt;
      wrote in message &lt;A&gt;&lt;BR /&gt;
      href="news:6061678@discussion.autodesk.com"&amp;gt;news:6061678@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV id="jive-html-wrapper-div"&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;Reading this newsgroup and searching (if you can, that &lt;BR /&gt;
      is) on&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;the phrase 'SendStringToExecute' might &lt;BR /&gt;
help.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;SendStringToExecute() is just like VBA's SendCommand(), &lt;BR /&gt;
      it's&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;asynchronous, meaning that it returns before the &lt;BR /&gt;
      commands that&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;you pass it have finished.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;For that reason, I seriously doubt that what you're &lt;BR /&gt;
      attempting&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;to do is going to work.&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&lt;BR /&gt;-- &lt;BR /&gt;&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
      href="http://www.caddzone.com"&amp;gt;http://www.caddzone.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;AcadXTabs: MDI Document Tabs for AutoCAD 2009&lt;BR /&gt;Supporting AutoCAD &lt;BR /&gt;
      2000 through 2009&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
      href="http://www.acadxtabs.com"&amp;gt;http://www.acadxtabs.com&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;Introducing AcadXTabs 2010:&lt;BR /&gt;&lt;A&gt;&lt;BR /&gt;
      href="http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm"&amp;gt;http://www.caddzone.com/acadxtabs/AcadXTabs2010.htm&lt;/A&gt;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;
      &lt;BLOCKQUOTE&gt;&lt;BR /&gt;
      style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"&amp;gt;&lt;BR /&gt;
        &lt;DIV&gt;"Dave Preston" &amp;lt;&lt;A&gt;&lt;BR /&gt;
        href="mailto:dpreston@cadesignservices.co.uk"&amp;gt;dpreston@cadesignservices.co.uk&lt;/A&gt;&amp;gt; &lt;BR /&gt;
        wrote in message &lt;A&gt;&lt;BR /&gt;
        href="news:6061627@discussion.autodesk.com"&amp;gt;news:6061627@discussion.autodesk.com&lt;/A&gt;...&lt;/DIV&gt;The &lt;BR /&gt;
        following replaces all blocks with a file form disk then synchronises &lt;BR /&gt;
        &lt;BR /&gt;attributes:-&lt;BR /&gt;&lt;BR /&gt;Public Sub &lt;BR /&gt;
        RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim doc As Document = &lt;BR /&gt;
        Application.DocumentManager.MdiActiveDocument&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        Using docLock As DocumentLock = &lt;BR /&gt;
        &lt;BR /&gt;Application.DocumentManager.MdiActiveDocument.LockDocument()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        Dim db As Database = doc.Database&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ed As &lt;BR /&gt;
        Editor = doc.Editor&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim trans As Transaction = &lt;BR /&gt;
        db.TransactionManager.StartTransaction()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If&lt;BR /&gt;&lt;BR /&gt;'code to &lt;BR /&gt;
        replace blocks here&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        End If&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        trans.Commit()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
        System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        Finally&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        trans.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End &lt;BR /&gt;
        Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; doc.SendStringToExecute("_attsync n *" &lt;BR /&gt;
        &amp;amp; ControlChars.Cr, True, False, &lt;BR /&gt;False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        ed.Regen()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
        Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;This works perfectly well, but if I call it from a &lt;BR /&gt;
        routine that opens a file &lt;BR /&gt;it all works except the attsync. The &lt;BR /&gt;
        blocks actually get swapped and if I &lt;BR /&gt;exit the loop before the &lt;BR /&gt;
        doc.closeandsave line the attributes actually &lt;BR /&gt;update. It's probably &lt;BR /&gt;
        something basic but it's baffled me:-&lt;BR /&gt;&lt;BR /&gt;Sub &lt;BR /&gt;
        ProcessAllDWGS()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        Try&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dir As New &lt;BR /&gt;
        DirectoryInfo("L:\work\ASDA\StoreSpace\Drawings\Final &lt;BR /&gt;
        &lt;BR /&gt;QA")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim files() &lt;BR /&gt;
        As FileInfo&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; files = &lt;BR /&gt;
        dir.GetFiles("*.dwg")&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        For Each file As FileInfo In &lt;BR /&gt;
        files&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        Dim doc As Document = &lt;BR /&gt;
        &lt;BR /&gt;Application.DocumentManager.Open(file.FullName, &lt;BR /&gt;
        False)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        RefreshBlocks()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        doc.CloseAndSave(file.FullName)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        doc.Dispose()&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        Next&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As &lt;BR /&gt;
        System.Exception&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;
        MsgBox(ex.Message)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR /&gt;&lt;BR /&gt;End &lt;BR /&gt;
        Sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;-- &lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Dave &lt;BR /&gt;
    Preston&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 29 Oct 2008 15:07:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/closeandsave-problem/m-p/2371195#M72922</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2008-10-29T15:07:03Z</dc:date>
    </item>
  </channel>
</rss>

