Я ищу способ, чтобы написать код из VB.NET надстройки в проект VBAНаписать код в VBA IDE с .NET
Так говорят записи «MsgBox (» Привет, мир! «)» в .bas-модуль как часть проекта Excel из .NET, поэтому код, написанный на .NET, будет некоторым предварительно записанным VBA, который хранится в виде строки и вводится в проект VBA.
У меня есть старый код, который я использую для выполнения такого рода вещи в VBA, используя свойства VBE, чтобы создать командную строку для VBA IDE, а также написать код в другие модули или создать новые модули, но я хотел бы иметь возможность сделать это из того, что я сказал в предмет из VB.NET [желательно из созданной надстройки, которая будет отображаться в Excel R ibbon] или, может быть, из автономного приложения winform, которое можно свести к минимуму в лоток.
две вещей, которые я хочу сделать это является для:
- Для мониторинга производительности коды VBA, то унаследованный код я упоминаю в основном вставляет вызов к другим подразделам в начале и в конце каждой процедуры в проекте и записывает в .csv, чтобы вы знали, сколько времени выполнялось для каждой подфункции и функции.
- Чтобы разбить проект VBA на составные части, чтобы их можно было добавить в TFS, в основном, перебирают все компоненты проекта VBA и экспортировать их в папку, чтобы их можно было добавить в TFS, что позволило улучшить отслеживание изменений исходного кода
Может кто-нибудь указать мне на примеры [если есть] написания кода на модуль VBA с vb.net или дать указания о том, как это может быть достигнуто.
Я использую рамки 4.5 .NET и Visual Studio 2012 с VB, но я хорошо с C# примеров, а также
Большое спасибо.
Извините, я неправильно понял ваш вопрос (комментарий удален). Я думал, что вы имели в виду своего рода VB.NET-VBA. Не уверен в отношении VBE, но в отношении VBA (что говорит первая строка вашего вопроса) вы можете общаться с Excel в различных формах непосредственно из VB.NET (как сказано, Office Interop VB.NET - это своего рода реплики VBA) и, следовательно, не нужно получать доступ к VBA (хотя это возможно, его надежность не слишком ясна для меня). Можете ли вы дать конкретную ситуацию, о которой вы хотели бы обратиться? Возможно, есть еще одна альтернатива. – varocarbas
Да, что я сделаю, добавьте мои конкретные примеры, что я пытаюсь достичь, спасибо – spences10
Как уже говорилось, вы можете запускать код VBA с VB.NET (здесь у вас есть ссылка с некоторыми подсказками: http: //stackoverflow.com/questions/4133094/run-vba-code-from-net-applications); хотя я всегда предпочитаю/рекомендую не смешивать платформы (VBA или VB.NET, взаимодействующие с Excel). Ваша вторая точка, похоже, поддерживает мое вышеупомянутое предположение: возможно, вы должны переместить все на VB.NET, поскольку TFS предназначен для VS (VB.NET), и нет реальной совместимости VB.NET-VBA, позволяющей использовать эту инфраструктуру. Возможно, у кого-то есть другая идея ... – varocarbas