Дальше следуем версия. Мы ее выделим по маске:
Sub Test() DIM resourceName DIM resourceFile DIM buldNumber Documents.SaveAll True resourceName = application.activeproject & ".rc" set resourceFile = Documents.Open(resourceName, "Text") resourceFile.Selection.FindText "FILEVERSION", dsMatchCase resourceFile.Selection.FindText "[0-9]+,[0-9]+,[0-9]+,[0-9]",dsMatchRegExp buldNumber = resourceFile.Selection msgbox buldNumber resourceFile.Close dsSaveChangesYes Documents.SaveAll True ExecuteCommand "BuildToggleBuild" End Sub
А вот и результат. Версия выделена.
Далее нужно выделить правое слово. Так как формат версии оговорен, то это просто. Функция, которую мы будем использовать будет двигаться по словам.
Sub Test() DIM resourceName DIM resourceFile DIM buldNumber Documents.SaveAll True resourceName = application.activeproject & ".rc" set resourceFile = Documents.Open(resourceName, "Text") resourceFile.Selection.FindText "FILEVERSION", dsMatchCase resourceFile.Selection.FindText "[0-9]+,[0-9]+,[0-9]+,[0-9]",dsMatchRegExp resourceFile.Selection.WordLeft dsExtend,6 buldNumber = resourceFile.Selection msgbox buldNumber resourceFile.Close dsSaveChangesYes Documents.SaveAll True ExecuteCommand "BuildToggleBuild" End Sub
А вот и результат:
Осталось только заменить:
Sub Test() DIM resourceName DIM resourceFile DIM buldNumber Documents.SaveAll True resourceName = application.activeproject & ".rc" set resourceFile = Documents.Open(resourceName, "Text") resourceFile.Selection.FindText "FILEVERSION", dsMatchCase resourceFile.Selection.FindText "[0-9]+,[0-9]+,[0-9]+,[0-9]",dsMatchRegExp resourceFile.Selection.WordLeft dsExtend,6 buldNumber=resourceFile.Selection resourceFile.Selection=buldNumber+1 resourceFile.Close dsSaveChangesYes Documents.SaveAll True ExecuteCommand "BuildToggleBuild" End Sub
Ну, вот вроде все срабатывает:
В том числе после сборки видно и в проводнике.