Я использую обширную ссылку Excel-Word, обновленную вручную с помощью кода VBA. Если файл Excel не открыт, Word пытается открыть его, предупреждает, что его открытие снова является проблемой, для чего требуется диалоговое окно, затем перейдите к следующей ссылке и запустите снова. Поскольку, как правило, 100 ссылок, это большая проблема.Проверьте, не открыт ли какой-либо файл Excel
Я нашел простой код VBA, который вызывает функцию, чтобы проверить, работает ли Excel.
Dim sApp As String
sApp = "Excel.Application"
If IsAppRunning(sApp) = True Then
MsgBox "Excel is Running, continue" & SourceFileName
Else
MsgBox "Excel is NOT Running, abort"
Exit Sub
End If
Я хочу проверить, открыт ли файл RIGHT Excel. «Правильный» файл будет иметь то же имя, что и файл Word, например, MyDocSample.doc будет связан с MyDocSample.xls.
Если MyDocSample.xls открыт, тогда продолжайте, если нет, должно быть опубликовано предупреждение о том, что «MyDocSample.xls» не открыто и предлагает выбор «Отмена».
Thanks Jeeped. Это функция, которая работает (кроме ваших добавлений), но это не решает мою проблему. Я не программист, но вот как я думаю, макрос будет выглядеть в словах непрофессионала. -Учитывать имя документа Word (без расширения) -Посмотреть открытый документ Excel с тем же именем (без расширения, поэтому он может быть xls, xlxs, xlsm и т. Д.) -Если Excel документ с тем же именем открыт, продолжите процедуру связи -Если нет, предупредите пользователя и прервите –
@DavidEnglund, лучший способ контролировать поток процессов - это открыть макрос/процедуры для открытия файлов, которые необходимо открыть. .. в противном случае получить дескриптор объекта приложения Excel и зациклиться на коллекции 'Workbooks' ... –