для других способов вызова ваших скриптов Python из VBA.
у простой и легкой интеграции Python и VBA.
Люди, читающие это, могут убить меня, если встретят меня лично после прочтения, но я использую сервер разработки django для этой цели.
Есть ли простой и лучший способ.
Просто для примера:
Я хочу экспортировать разделенную запятыми строку как файл Excel, используя python moduel openpyxl.
Это приложение Djangourl.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'identifier(.*)Это приложение Djangoviews.py
from django.http import HttpResponse
from openpyxl import Workbook
def demo(request, data):
(identifier, numbers, filepath) = data.split(';;;')
wb = Workbook()
ws_sent = wb.active
for number in numbers.split(','):
ws_sent.append((number.strip(),))
wb.save(filepath + identifier + '.xlsx')
return HttpResponse(identifier + " : Completed")
VBA:
Sub demohttp()
Set httpobject = CreateObject("MSXML2.XMLHTTP")
url = "http://localhost:8000/appname/identifier;;;1,2,3,4,5,6,7,8,9;;;C:/ActiveDocument.Path"
httpobject.Open "GET", url, False
httpobject.send
msgbox httpobject.responseText
End Sub
Это невероятно быстро по сравнению с: вызовом python из функций оболочки vba
Это поразительно просто по сравнению с: автоматизацией Excel от слова VBA. Excel это только пример. У меня так много скриптов Python, которые я хотел преобразовать в приложения Django.
Вопросы 1) есть ли падение? Я проверил его на максимальный счет до 1200 уникальных номеров.
2) есть ли лучший способ? Я попытался изучить com на стороне сервера, но выглядит как беспорядок.
, views.demo, name='index')
]
Это приложение Djangoviews.py
from django.http import HttpResponse
from openpyxl import Workbook
def demo(request, data):
(identifier, numbers, filepath) = data.split(';;;')
wb = Workbook()
ws_sent = wb.active
for number in numbers.split(','):
ws_sent.append((number.strip(),))
wb.save(filepath + identifier + '.xlsx')
return HttpResponse(identifier + " : Completed")
VBA:
Sub demohttp()
Set httpobject = CreateObject("MSXML2.XMLHTTP")
url = "http://localhost:8000/appname/identifier;;;1,2,3,4,5,6,7,8,9;;;C:/ActiveDocument.Path"
httpobject.Open "GET", url, False
httpobject.send
msgbox httpobject.responseText
End Sub
Это невероятно быстро по сравнению с: вызовом python из функций оболочки vba
Это поразительно просто по сравнению с: автоматизацией Excel от слова VBA. Excel это только пример. У меня так много скриптов Python, которые я хотел преобразовать в приложения Django.
Вопросы 1) есть ли падение? Я проверил его на максимальный счет до 1200 уникальных номеров.
2) есть ли лучший способ? Я попытался изучить com на стороне сервера, но выглядит как беспорядок.