У меня есть графический интерфейс, который я написал на C#. Это сетка интерактивных кнопок и текста, которая управляет картой регистров. Я хотел бы создать API для этого графического интерфейса для использования в Excel vba. Я не смог найти никаких примеров или документации о том, как создать такую вещь, но раньше я использовал библиотеки объектов других компаний.Создать библиотеку объектов для Excel vba
В попытке создать это я столкнулся с некоторыми проблемами, а именно: он работает только на моем компьютере. Кроме того, если я перейду в другую папку на своем компьютере, она также сломается.
Excel VBA код:
Sub Test()
Dim impclass As New ZZVISIBLE_FROM_EXCEL_CLASS
MsgBox impclass.DotNetMethod_SQR(5)
End Sub
C# Библиотека классов Код:
using System;
using System.Collections.Generic;
using System.Text;
namespace ZZVISIBLE_FROM_EXCEL_LIBRARY
{
public class ZZVISIBLE_FROM_EXCEL_CLASS
{
public Double DotNetMethod_SQR(Double input)
{
return input * input;
}
}
}
Этот основополагающий пример использует C класс # библиотека квадратуры числа и Excel VBA, чтобы выбрать номер 5. Это базовые рамки для последующих вещей, которые я хотел бы сделать, такие как:
grid.writecell(22,1001)
grid.getcell(22)
grid.resetall()
grid.loadfile("C:\griddata\config_default")
Некоторые ссылки для создания этих библиотек объектов или даже то, что они называют бы очень полезно! Googling «custom excel vba reference in C#» до сих пор не принес ничего полезного, поэтому я решил отправить здесь помощь.
Кроме того, я достаточно рано в проекте, что «вы делаете это неправильно, делайте это» ответы типа приветствуются!
вы можете не сделать то же самое в C# с помощью 'Microsoft.Interop.Excel' вы пытались Google примеров по использованию Interop ..? – MethodMan
Замечательный комментарий! К сожалению, причина, по которой я делаю это, - поддерживать совместимость с кодом, написанным в Excel VBA. – SwimBikeRun