Как ссылаться на Javascript для функций Office в Excel VBA? - PullRequest
1 голос
/ 11 июня 2019

Я переписываю несколько часто используемых макросов VBA в JavaScript API для Office. (Я делаю это, потому что мой руководитель попросил меня об этом, и они сотни раз используются во многих различных книгах Excel с поддержкой макросов.) Эти функции включают функции, которые создают таблицы, дублируют шаблоны и импортируют данные из других источников. (Я не хочу создавать надстройку Excel Javascript со всем на ней, потому что она не будет включать шаблоны и сколько времени это займет.)

Когда я пытаюсь импортировать файл JavaScript или HTML непосредственно в Visual Basic для приложений, он (конечно) сталкивается с ошибкой невозможности скомпилировать код. Поэтому я не могу импортировать его как обычный файл Basic. Я могу импортировать надстройку JavaScript в Excel, но я не знаю, как ссылаться на нее в VBA.

Вот простой пример того, что я пытаюсь сделать:

//Javascript
export async function getWsInExcel() {
try {
await Excel.run(async context => {
return context.worksheet;

await context.sync();
});
} catch (error) {
console.error(error);
}
'VBA
Sub getWorksheetFromJS()
Dim ws as Worksheet
Set ws = JSAddOn.getWsInExcel
ws.Cells(1,1).Value = Hello World
End Sub

Это должно ввести "Hello World" в текущий лист в ячейке A1.

...