Тема: Путь к acad.exe

Как из Vb:
1. Получить путь к acad.exe
2. Закрыть acad.exe вместе с проектом VB
acad должен работать в фоновом режиме.

Re: Путь к acad.exe

1. Можно так, например

Sub test()
  Dim prf As String
  Dim pth As String
  prf = ThisDrawing.GetVariable("acadprefix")
  For Each i In Split(prf, ";")
    i = Left(i, InStrRev(i, "\"))
    If Dir(i & "acad.exe") <> "" Then pth = i: Exit For
  Next
  Debug.Print pth
End Sub

Хотя, наверняка есть какой то более простой способ
2.

Application.Visible = False

Re: Путь к acad.exe

Под 2 имел в виду скрыть окно, а не закрыть acad.exe, а то вряд ли "фоновый" режим получится :)))

Re: Путь к acad.exe

Хотя, наверняка есть какой то более простой способ

Есть:
prf = ThisDrawing.Application.Path

Re: Путь к acad.exe

> Arkady
Точно, совсем забыл про это свойство... :)))

Re: Путь к acad.exe

Сбасибо вам всем большое, но я наверное не совсем точно выразился. Уточню алгоритм:
1. Получить путь к acad.exe
2. Запустить Acad с помощью Shell.... & VbHide
3. Закрыть acad.exe вместе с проектом VB, т.е. выгрузить Acad из памяти, а не убрать с экрана (режим итак фоновый)

Re: Путь к acad.exe

1. зачем оно надо... Ну если оооочень надо - можно в реестре поковыряться
2. set obj = CreateObject("AutoCAD.Application") вполне достаточно. Если на машине несколько АКАДов - то можно версию указать.
3. obj.Quit

Re: Путь к acad.exe

Спасибо!