-
August 30th, 2012, 01:58 AM
#1
Issue with program to automate excel
Dear C++ Gurus/Experts,
I am writing a program to automate excel.My program is working well when I use integer (Write/Read) in excel.My program also works well when I use string.But the issue appears when I use array of strings.I am getting the issue as below
"error C2664: 'SysAllocString' : cannot convert parameter 1 from 'char *' to 'const OLECHAR *' ". Please Help.
Program:
//working good with strings
for(int i=1; i<=15; i++) {
for(int j=1; j<=15; j++) {
// Create entry value for (i,j)
BSTR b;
VARIANT parm1;
b = SysAllocString(L"Haroon"); // this line working good
parm1.vt = VT_BSTR;
parm1.bstrVal = b;
// Add to safearray...
long indices[] = {i,j};
SafeArrayPutElement(arr.parray, indices, &parm1);
}
}
//Having problems with Array of strings
//Array of strings
char *hrs[]={"noor","riz","vignesh"};
for(int i=1; i<=15; i++) {
for(int j=1; j<=15; j++) {
// Create entry value for (i,j)
BSTR b;
VARIANT parm1;
b = SysAllocString(hrs[0]); // issue in this line
parm1.vt = VT_BSTR;
parm1.bstrVal = b;
// Add to safearray...
long indices[] = {i,j};
SafeArrayPutElement(arr.parray, indices, &parm1);
}
}
-
August 30th, 2012, 03:14 AM
#2
Re: Issue with program to automate excel
Just use UNICODE strings in the array the same way you do it for a single string:
instead of
Originally Posted by haroonrulz
Code:
char *hrs[]={"noor","riz","vignesh"};
use
Code:
wchar_t *hrs[]={L"noor", L"riz", L"vignesh"};
Victor Nijegorodov
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|