|
Hi,
I have been researching how to automate settting cell values in a excel spreadsheet
I have seen a number of examples
with the following code snipet
range.Setvalue(Colevariant(ColeSafeArray &)
It seem from this that the range object has a setvalue method but I have yet to find where this is documented
Any help would be appreciated
Thanks in advance
|
|
|
|
|
I demonstrated how to use Google in my response to your question below, perhaps you could try it for yourself first.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Is the answer XPATH
XPATH represents a range ?
did a word that correctly
|
|
|
|
|
No idea what that means, but it took one single Google search to find this article[^].
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Hi
Looking at that article I think what I am looking for is in that header file
excel8.h or some other header with excel method,properties definations
is this automatically included with office
|
|
|
|
|
ForNow wrote: is this automatically included with office No idea, you need to read the article and any associated links for the details of how to do it.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Would anyone know where the put_visible method is documented
I think its part of the Excel :: Application object
|
|
|
|
|
Why not try this first[^]?
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
IVideoWindow is not part of the Excel programming interface Application, WorkBook, WorkSheet, Range ?
|
|
|
|
|
Is that a statement or a question?
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Hi,
I am running MicroSoft VIsual C++ 6.0 and tryign to wite com application for excel
My first statemt is #import "libid:00020813-0000-0000-C000-000000000046"
This information matches the uuid generated when using OLE/COM viewer and selecting
view libtype from file drop down menu bar
apperantly libid is not right for the version of excel I am running
|
|
|
|
|
I made a .NET COM DLL (VS2012, C#) it registers fine with regasm, but not with regsvr32. Also when I add the .tlb into installer and extract the com stuff (Installshield 2012) there is no registry entries after I have ran the installer. DLL is 32-bit and I'm using 64-bit Windows.
I have this on the code:
[ComRegisterFunction()]
public static void RegisterClass(string key)
{
StringBuilder sb = new StringBuilder(key);
sb.Replace(@"HKEY_CLASSES_ROOT\", "");
RegistryKey k = Registry.ClassesRoot.OpenSubKey(sb.ToString(), true);
RegistryKey ctrl = k.CreateSubKey("Control");
ctrl.Close();
RegistryKey inprocServer32 = k.OpenSubKey("InprocServer32", true);
inprocServer32.SetValue("CodeBase", Assembly.GetExecutingAssembly().CodeBase);
inprocServer32.Close();
k.Close();
MessageBox.Show("Registered");
}
[ComUnregisterFunction()]
public static void UnregisterClass(string key)
{
StringBuilder sb = new StringBuilder(key);
sb.Replace(@"HKEY_CLASSES_ROOT\", "");
RegistryKey k = Registry.ClassesRoot.OpenSubKey(sb.ToString(), true);
k.DeleteSubKey("Control", false);
k.OpenSubKey("InprocServer32", true);
k.DeleteSubKey("CodeBase", false);
k.Close();
MessageBox.Show("UnRegistered");
}
I've tried to find an answer to this but it seems nothing works.
Error with regsvr32 is:
the module "comclass.dll" was loaded but the entry-point DllRegisterServer was not found.
Make sure that "comclass.dll" is a valid DLL or OCX file and then try again.
modified 29-Nov-12 11:59am.
|
|
|
|
|
Joni_78 wrote: the entry-point DllRegisterServer was not found. There is a fairly strong clue in that message, regsvr32 needs the correct entry point to be in the DLL.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
I've found atleast five solutions to this but none worked. I found that you can save the dll registry entries to reg file with "regasm /regfile:name.reg name.dll"
So I can just add the registry keys to installshield, I wonder if it does everything that regsvr32 does.
|
|
|
|
|
Joni_78 wrote: I wonder if it does everything that regsvr32 does. No idea, I'm afraid, but it would be easy to test.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Hi All,
I am using office 2007 interop DLL to create an Excel sheet in c#.NET.
when I tried to test my app on a machine with office 2003 installed I get an exception because of the version number of the DLL . How can I determine in runtime what version of office is installed and then load the appropriate interop DLL for that version ?
|
|
|
|
|
If you do not need features which became available in Office 2007, just use an interop dll for old versions of Office also when current Office is installed! A PIA created with Office XP still works with Office 2010.
Otherwise, you have to find out the registry keys of Excel...
|
|
|
|
|
Use DLL of office 2000. It may have less features but will work in all versions of office. If u need any extra features then try to avoid it or use a least version satisfying your needs.
|
|
|
|
|
Hi!
I want to edit a exists interface,so I need get INTERFACEDATA from ITypeInfo for edit.But I don't know how to do it.
Can you help me?
Thanks.
|
|
|
|
|
Sorry, my English sucks, I hope I can express clearly.i want to add a bar to the windows explorer,after a long time searching,i'v made a bar using BandObjectsLib(a C# library) and added it in to the Explorer window.but i have to open it through "Menu-View-Explorer bar",and the bar also came out in IE :<.my question is how to make it opened automaticly when Windows Explorer is opend.Or any other way to do this,i want to add a big horizontal bar actually a region in the bottom (or somewhere else) of Windows Explorer,so i can put my code and usercontrols into it.i use C#,vs2012,windows 7.thank you!
|
|
|
|
|
Please do not post the same question in multiple forums.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
I've just been handed the task of replacing an existing COM component.
It has to stay as a COM component as we have no ability to change the caller.
It has to able to call a COM component, that again we can't alter. i.e. where changing the middle part of an existing process and have to do so transparently.
I've been doing some background research, and it looks like I can create a .NET COM component easy enough. I've got a few q's though.
When you create the COM interface and class they have GUID's, do these GUID's have to match the existing COM component? Or is it when the caller makes the COM call the OS determines the component based on name?
Another requirement is that the final COM call is 'dynamic' in that the method name we have to call might change, assuming the method will act on the same data is this doable?
|
|
|
|
|
To differentiate between various COM components and Interfaces, GUIDs have to be unique. They should not match other COM components.
Didn't understand your requirement of "final COM call is 'dynamic'"
|
|
|
|
|
Thanks,
Regarding the last bit, I have to call another third-party COM component. But as the third-party app might be replaced, if possible I'd like to be able to configure the name of the component and method called? (assuming the new and old method are similar in parameters etc)
|
|
|
|
|
There are two scenarios:
1. Replace the 3rd party COM component and consequently use a different COM Interface (with a different signature).
This scenario is independent of COM programming. I would use Adaptor design pattern for this problem.
2. Replace the 3rd party COM component but use same COM Interface (i.e. the Interface's GUID is same).
In this case there will be no change in your program. All you need to do is to unregister the old COM server and register the new COM server.
|
|
|
|