I cleaned it up a little and added a few things in but I still can't get it to save the new paths.
Code:
Private Sub ModifyXrefPath(ByVal FileName As String, ByVal OrigPath As String, ByVal DestinationPath As String)
Dim mDB As New Autodesk.AutoCAD.DatabaseServices.Database
mDB.ReadDwgFile(FileName, FileOpenMode.OpenForReadAndWriteNoShare, True, "")
Dim mTransman As Autodesk.AutoCAD.DatabaseServices.TransactionManager = mDB.TransactionManager
Dim mTrans As Autodesk.AutoCAD.DatabaseServices.Transaction = mTransman.StartTransaction
Dim mBT As BlockTable = mTrans.GetObject(mDB.BlockTableId, OpenMode.ForWrite, False)
Using mTrans
For Each mBTR_ID As ObjectId In mBT
Dim mBTR As BlockTableRecord = mBTR_ID.GetObject(OpenMode.ForWrite)
If mBTR.IsFromExternalReference Then
Dim mPathName As String = mBTR.PathName.ToString
mPathName = Replace(mPathName, ".\", OrigPath)
mDB.XrefEditEnabled = True
If InStr(origPath, "\") Then
mBTR.PathName = DestinationPath & My.Computer.FileSystem.GetName(mPathName)
Else
mBTR.PathName = DestinationPath & mPathName
End If
End If
Next
mTrans.Commit()
End Using
mDB.CloseInput(True)
mTrans.Dispose()
End Sub