CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

Variant::OlePropertySet()问题,在BCB5中正常,但在BCB6.0中却出错?(出错信息:不正确的变量类型)

楼主Veeve()2003-12-04 00:01:36 在 C++ Builder / 基础类 提问

Variant   excelApp,   workBook,   workSheet;  
      Variant   cell,   cell1,   cell2;  
      Variant   range;  
   
      AnsiString   title   =   "标题";  
      try  
      {  
          excelApp   =   Variant::CreateObject("Excel.Application");  
          workBook   =   excelApp.OlePropertyGet("Workbooks").OleFunction("Add");  
          workSheet   =   workBook.OlePropertyGet("Worksheets").OlePropertyGet("Item",   1);   //这里出错  
          workSheet.OlePropertySet("Name",   title);  
      }  
      catch   (Exception   &e)  
      {  
          Application->ShowException(&e);  
          excelApp.OleFunction("Quit");  
          return;  
      }  
      cell1   =   workSheet.OlePropertyGet("Cells",   1,   1);  
      cell1.OlePropertySet("Value",   title);   //这里也出错  
   
  上面这段代码在BCB5中完全正常,可是放到BCB6.0中却出错,出错信息是“不正确的变量类型”。为什么? 问题点数:40、回复次数:9Top

1 楼Behard(我爱天安门)回复于 2003-12-04 00:43:56 得分 13

cell1.OlePropertySet("Value",   title.c_str());   //这里也出错Top

2 楼ljianq(泉深水清)回复于 2003-12-04 08:43:56 得分 2

try  
      {  
          excelApp   =   Variant::CreateObject("Excel.Application");  
          excelApp.OlePropertyGet("Workbooks").OleFunction("Add");  
          workBook=excelApp.OlePropertyGet("ActiveWorkBook");  
          workSheet   =   workBook.OlePropertyGet("Sheets").OlePropertyGet("Item",   1);    
          workSheet.OlePropertySet("Name",   title);  
      }  
  Top

3 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2003-12-04 09:05:11 得分 13

前天我刚答了这种贴子,很简单  
   
  http://expert.csdn.net/Expert/topic/2517/2517376.xml?temp=.4799005  
   
  类型用WideString代替AnsiString就可!!Top

4 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2003-12-04 09:13:43 得分 0

串解决了,  
  至于整数参数类型还要试试  
   
  Top

5 楼zhaowd()回复于 2003-12-04 09:19:22 得分 12

我也遇到过类似的问题,出错的地方如下改一下即可  
  cell1.OlePropertySet<WideString>("Value",   title)Top

6 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2003-12-04 09:35:35 得分 0

同意楼上的写法,经试成功Top

7 楼Veeve()回复于 2003-12-04 09:37:58 得分 0

谢谢!  
  用   Behard(我爱天安门)的.c_str()  
  或BCB(天下三分明月夜,二分无赖是扬州)的WidString都能解决!  
   
  那为什么BCB5下OK而BCB6下却不行呢?Top

8 楼yhec(@_@ 俺是贫农俺怕谁)回复于 2003-12-04 09:49:25 得分 0

zhaowd()   的方法可以,  
  Top

9 楼zhaowd()回复于 2003-12-08 10:53:18 得分 0

这是模板调用,cb6中可能要你指明具体的类型才行Top

相关问题

  • 关于Variant变量:
  • VARIANT变量的初始化?!
  • Variant 变量类型转换
  • 如何_variant_t的值付给CString变量
  • 关于VARIANT类型变量的转换
  • 怎样给VARIANT变量赋值。
  • 如何初始化VARIANT变量?
  • VARIANT 变量的转换 请指教
  • _variant_t变量不能为空吗?
  • VARIANT型的变量如何初始化?

关键词

  • bcb
  • cell
  • application
  • olepropertyset
  • olepropertyget
  • 出错
  • excelapp
  • worksheet
  • 类型
  • variant

得分解答快速导航

  • 帖主:Veeve
  • Behard
  • ljianq
  • BCB
  • zhaowd

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo