Что произойдет с Office VBA? [закрытый]

Вы очень, очень близки и хорошо поработали над проектированием ваших структур данных. Вам просто нужно попытаться декодировать каждую возможную опцию в CategoryItem.

public init(from decoder: Decoder) throws {
    let container = try decoder.singleValueContainer()
    if let item = try? container.decode(MenuCategory.self) {
        self = .group(item)
    } else if let item = try? container.decode(MenuItem.self) {
        self = .menuItem(item)
    } else {
        throw DecodingError.dataCorrupted(.init(codingPath: decoder.codingPath,
                                                debugDescription: "Not a group or item"))
    }
}

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

11
задан mjs 11 May 2015 в 12:54
поделиться

5 ответов

Короткий ответ: Вы, вероятно, в порядке некоторое время все же.

Длинный ответ: VB6 (который является тем, что действительно VBA) является в значительной степени мертвым, неподдерживаемым языком, последнее обновление десятилетие назад с IDE с того же периода. Это только все еще вокруг, потому что это встраивается в Office и существуют миллионы приложений Office, которые прекратили бы работать, если бы VBA был удален или изменен. Не говоря уже о миллионах сильно раздраженных пользователей.

Таким образом, как продвинуться? Office может быть повторно реализован в управляемом коде? Microsoft хочет сделать это вообще? Они собираются заставить еще большую прежнюю совместимость повредиться, чем Лента и просто отбросить понятие записи макроса и интерпретируемого встроенного кода? Я просто не вижу, что мои пользователи берут на VB.NET в Visual Studio, с помощью COM Interop и этажерки.

Если бы я должен был поместить деньги на одном результате (и я не хотел бы держать пари очень даже затем), то я смотрел бы на Динамическое Время выполнения Языка и то, что несколько языков находятся в различных состояниях подготовленности для работы его. Предположим, что ДОЛЛАР, с некоторой подходящей заменой или оберткой для приложения Office модель COM, должен был заменить время выполнения VB6. Далее, предположите, что VBA были реализованы как язык ДОЛЛАРА. Теперь VBA прежней версии продолжит работать, только на другом (современный, поддерживаемый) интерпретатор и кроме того, мы можем программировать макросы Excel в Python, Ruby или независимо от того, что другой язык ДОЛЛАРА поражает наше воображение.

Но это - просто мое лучшее предположение - я понятия не имею, является ли это в какой-либо степени к waht, на самом деле произойдет. Я, конечно, любил бы мочь программировать макросы Excel в Ruby, все же.

10
ответ дан 3 December 2019 в 05:59
поделиться

Они добавляют поддержку VBA следующей версии Office для Mac, таким образом, я подозреваю, что это будет вокруг некоторое время.

3
ответ дан 3 December 2019 в 05:59
поделиться

Вчера я отчасти столкнулся с тем же ходом мыслей. Какое совпадение. Внезапно босс при моей неполной занятости искал приложение Excel, которое я создал 3 года назад (покинул компанию в 2007 и возвратился им как частично занятый сотрудник для увеличения моей работы на полную ставку). Я помню, что преобразовал это в приложение Доступа MS 2003 года; но приложение должно быть обновлено для выполнения более новых требований. Угадайте то, что, я думаю, что уже забыл VBA. Это не правильное время, чтобы возвратиться и повторно узнать о вещах из размолотого. Я иду дальше с C# 2.0/3.0. Восстанавливая, что приложение Доступа MS 2003 года с C# 3.0 будет большим полезным опытом, я уверен!

@IainMH является правильным...", пора Вам погрузиться в.NET"

1
ответ дан 3 December 2019 в 05:59
поделиться

Я сказал бы, что пора Вам погрузиться в.NET.

Можно назвать библиотеки.NET от Excel.

http://richnewman.wordpress.com/2007/04/15/a-beginner%E2%80%99s-guide-to-calling-a-net-library-from-excel/

2
ответ дан 3 December 2019 в 05:59
поделиться

Хорошо я - опытный программист.NET. Я попробовал Инструменты для Office, который является болью для использования, и он требует, чтобы Вы распределили блоки (LOL). Нет никакого способа, которым Финансы или Доставка собираются использовать это. Мы вдоволь посмеялись перед совершающим нападки удалением.

Мы попробовали Google Docs, который был удивительно гибок, но все еще так же мощен как макрос Excel. Microsoft застоялась с 2000, и Google перемещается быстро, таким образом, через несколько лет ответы могли бы отличаться. Сам VBA на самом деле менее мощен сегодня из-за всей ерунды безопасности.

В конце я все еще заставил кнопку в их листе делать то, что они хотят, и они могут внести незначительные изменения в код, если им нравится. Странно, что VBA является способом пойти для чего-то, что я подозреваю все финансовые отделы в мировом потреблении.

2
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: