Тогда если оба аргумента в "oDataIO.WriteDataToFile(sOut, fname)" работают верно, для одной детали, знаит ошибка в самой ссылке "oDataIO" в переборе.
Во-первых, если я ничего не путаю, то для манипуляции с файлами, не требуется их открывать, т.е. вам не нужна строка "oDoc = ThisApplication.Documents.Open(oFile, False)"
Сылку на документ в переборе я бы задавал так:
oDoc =occ.Definition.Document
а ссылка на "oDataIO" по идее должна быть:
oDataIO = oDoc.ComponentDefinition.DataIO
и соответственно надо подкорректировать "fname " как то так:
fname = oDoc.FullFileName.Remove(oDoc.FullFileName.LastIndexOf("\")) & "\" & iProperties.Value("Project", "Part Number") & " " & iProperties.Value("Project","Description") & ".dxf"
Насчет последней строки не уверен, надо проверять, является ли мой код эквивалентом, но опять таки советую это делать для одной детали.