2016-11-25 6 views
0

В настоящее время у меня есть имя файла, хранящееся в строке с именем filename. Файл, хранящийся в строке, в настоящее время открыт. Проблема заключается в том, что этот файл может несколько раз открываться в другом экземпляре Visio.Активировать окно другого экземпляра Visio

Я хочу, чтобы активировать файл, который хранится в имени файла строки

Мой текущий метод не учитывает это - приведенный ниже код проверяет только если файл существует между текущей/один экземпляр Visio.

For Each objDoc In objVisio.Documents 
    If objDoc.Name = filename Then 
    objDoc.activate 
Exit for 
    End If 

Следующая

Как я могу активировать этот файл, чтобы вывести его вперед?

windows(filename & " - Microsoft Visio").activate 

не работает либо

Я попытался

Dim objVisio as Visio.Application 
Set objVisio = GetObject(filename).Application 

, который не работает (возможно, из-за имени файла строки только имея имя файла, а не весь путь к файлу, а также)

Какие-либо другие методы грубой силы доступны там?

Любая помощь приветствуется!

+0

Is Visio переднее окно. Существуют правила об активации окон, которые в основном говорят, что если ваш код не является активным окном, вы не можете установить активное окно (оно игнорируется). Это делается для того, чтобы остановить программы, крадущие фокус, от выбора пользователем программ для использования. –

+0

Я только что нашел это правило несколько минут назад. Это имеет смысл. В сценарии, где во втором экземпляре Visio, если открываются 3 файла и «имя файла» находится вне фокуса, оно не будет отображаться как активное окно. В таком случае мне нужно пройти через каждый открытый экземпляр Visio, чтобы найти имя и активировать его (но как это сделать) – Dingo

ответ

0

попробовать что-то вроде этого:

objVisio.Application.Caption 

Или

AppActivate "Microsoft Visio" 

Я думаю, еще один вариант, чтобы смотреть на это: https://msdn.microsoft.com/en-us/library/office/ff766749.aspx

Я не работал с Visio в VBA, поэтому мне интересно увидеть истинный ответ здесь.

+0

Оба не работают. К сожалению, недостает пути к файлу:/ – Dingo

+0

Стоит попробовать, я думаю. Надеюсь, кто-то умнее, чем я появлюсь, и мы оба можем узнать что-то новое сегодня :) – SalvadorVayshun

Смежные вопросы