Lucky070765
Thành viên mới
- Tham gia
- 25/11/11
- Bài viết
- 3
- Được thích
- 0
Tôi đã tìm được đoạn code cho phép viết hàm Excel bằng C#, nhưng lại nảy sinh một vấn đề nữa; Sau khi viết xong, Project của tôi là dạng file thư viện *.dll, khi Compile trên máy tôi thì OK rồi, tôi không biết bây giờ làm sao sử dụng được thư viện *.ddl này ở máy khác. Bạn nào đã làm rồi hướng dẫn giúp tôi với. Cảm ơn nhiều. Phía dưới là đoạn code tôi tìm được. Nó được viết dưới dạng Add-In Automation. Các phương thức bạn code chính là các hàm được sử dụng trong Excel (ví dụ là các hàm IJK, MNL)
Mã:
[Guid("5268ABE2-9B09-439d-BE97-2EA60E103EF6")]
[ClassInterface(ClassInterfaceType.AutoDual)]
[ComVisible(true)]
public class ABC
{
public ABC()
{
}
[ComRegisterFunctionAttribute]
public static void RegisterFunction(Type type)
{
Registry.ClassesRoot.CreateSubKey(GetSubKeyName(type, "Programmable"));
RegistryKey key = Registry.ClassesRoot.OpenSubKey(GetSubKeyName(type, "InprocServer32"), true);
key.SetValue("", System.Environment.SystemDirectory + @"\mscoree.dll", RegistryValueKind.String);
}
[ComUnregisterFunctionAttribute]
public static void UnregisterFunction(Type type)
{
Registry.ClassesRoot.DeleteSubKey(GetSubKeyName(type, "Programmable"), false);
}
private static string GetSubKeyName(Type type, string subKeyName)
{
System.Text.StringBuilder s = new System.Text.StringBuilder();
s.Append(@"CLSID\{");
s.Append(type.GUID.ToString().ToUpper());
s.Append(@"}\");
s.Append(subKeyName);
return s.ToString();
}
public string IJK()
{
//Code của bạn ở đây
}
public int MNL()
{
//Code của bạn ở đây
}
}
Lần chỉnh sửa cuối: