2015-11-05 2 views
0

Есть ли возможность запустить файл с удаленного сервера (.exe) с помощью Visual Basic для приложений в Excel?Запустить файл с удаленного сервера (.exe)

+0

Вы пытались использовать поисковую систему? – deathismyfriend

+0

Конечно, я сделал. Я ничего не нашел. –

+0

Попробуйте Shell или ShellExecute. – MatthewD

ответ

0

Shell немного более прямолинейный.

Private Sub CommandButton1_Click() 
    Dim filename As String 
    Dim retVal As Long 

    filename = "c:\a.txt" 
    retVal = Shell("NOTEPAD.EXE " & filename, vbNormalFocus) 
End Sub 

Или ShellExecute окна API

Объявите это в верхней части вашего кода.

Private Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _ 
    (ByVal hwnd As Long, _ 
    ByVal lpOperation As String, _ 
    ByVal lpFile As String, _ 
    ByVal lpParameters As String, _ 
    ByVal lpDirectory As String, _ 
    ByVal nShowCmd As Long) As Long 

Тогда вы можете это назвать.

Dim RetVal As Long 
RetVal = ShellExecute(0, "open", "<full path to program>", "<arguments>", _ 
        "<run in folder>", SW_SHOWMAXIMIZED) 

Затем оцените возвращение.

В арг являются

  • HWND Дескриптор окна родителя новой программы.
    Операция
  • Операция для выполнения.
  • Файл Имя файла для управления.
  • Параметры Параметры, которые необходимо передать исполняемой программе: для выполнения.
  • Каталог по умолчанию.
  • Стиль Стиль, в котором

В Операции являются

Edit запускает редактор и открывает файл для редактирования.
Исследуйте Исследуйте папку, указанную в параметре файла.
Find Запускает утилиту поиска в указанной директории.
Открыть Открывает файл с использованием соответствующего приложения по умолчанию. Например, если файл является файлом HTML, это заставляет систему открывать файл в браузере по умолчанию в системе.
Печать Распечатывает файл.

В Стили являются

SW_HIDE Скрывает окно.
SW_MAXIMIZE Максимизирует окно.
SW_MINIMIZE Минимизирует окно.
SW_RESTORE Восстанавливает окно в нормальном (не максимизированном или минимальном) размере.
SW_SHOW Активирует окно и отображает его в текущем размере.
SW_SHOWDEFAULT Отображает окно по умолчанию.
SW_SHOWMAXIMIZED Отображает окно максимально.
SW_SHOWMINIMIZED Отображает минимизированное окно.
SW_SHOWMINNOACTIVE Отображает окно, минимизированное без фокусировки.
SW_SHOWNA Отображает окно с его текущим размером, не придавая ему фокуса.
SW_SHOWNOACTIVATE Отображает окно в его последнем размере и положении, не придавая ему фокуса.
SW_NORMAL Отображает окно при нормальном (не минимизированном или максимизированном) размере.

0

С пустым Excel, это невозможно.

Вот предложение, как можно достичь этого:

Написать службу для удаленного сервера, который имеет работу, чтобы запустить исполняемый файл. Это можно сделать с помощью службы WCF, например.

Если служба запущена, вы можете вызвать эту операцию со своего клиента (Excel).

Посмотрите на это WCF beginner tutorial, чтобы начать. Для интеграции в excel, посмотрите here

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