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

请教VC关于Excel编程的问题

楼主8thdetective(bbllyy)2004-08-04 14:55:57 在 其他开发语言 / Office开发/ VBA 提问

我对于Excel中的某个区域(例如"A2")开始,将其右边开始N格填上各自不同数据,以及其下边开始M格填上各自不同的数据,M/N不定,请问vc如何实现?谢谢 问题点数:0、回复次数:6Top

1 楼a_cer(玩家)回复于 2004-08-04 17:24:23 得分 0

up    
  vc中怎么用vbaTop

2 楼arden1019(CSCUM)回复于 2004-08-04 20:16:09 得分 0

oleTop

3 楼arden1019(CSCUM)回复于 2004-08-05 13:23:50 得分 0

http://www.vckbase.com/document/listdoc.asp?sclsid=1713Top

4 楼8thdetective(bbllyy)回复于 2004-08-06 08:30:34 得分 0

最好具体说一下,每个单元格填数据用什么函数?Top

5 楼cnhome(小狐狸)回复于 2004-08-06 17:43:18 得分 0

Range的Cells就可以Top

6 楼quicklight(景雄)回复于 2004-08-28 10:37:11 得分 0

vc中可以使用COM调用VBA的对象和方法,  
  HRESULT   hRet;  
  _Application     ExcelApp;      
  CComVariant     vTrue((short)TRUE),vFalse((short)FALSE),          
  vOpt((long)DISP_E_PARAMNOTFOUND,     VT_ERROR);          
  CComVariant   vDocName(sourcePathName);  
   
  if(!ExcelApp.CreateDispatch(_T("Excel.Application")))  
  {  
  // AfxMessageBox("create   dispatch   error!");  
   
  return     -10;    
   
  }  
  ExcelApp.SetVisible(FALSE);  
  ExcelApp.SetDisplayAlerts(FALSE);  
  _Worksheet   MySheet;  
  _Workbook   MyWorkbook;  
  Workbooks   MyWorkbooks;  
  MyWorkbooks.AttachDispatch(ExcelApp.GetWorkbooks());  
  CString   strSourcePathName(sourcePathName);  
  MyWorkbook.AttachDispatch(MyWorkbooks.Open(strSourcePathName,vFalse,vFalse,vOpt,  
  vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vOpt,vFalse));  
  Worksheets   MySheets;  
  MySheets.AttachDispatch(MyWorkbook.GetWorksheets());  
  CComVariant   vIndex(long(1));  
  MySheet.AttachDispatch(MySheets.GetItem(vIndex));  
  Range   MyRange;  
  Range   MyRowRange,MyColRange;  
  MyRange.AttachDispatch(MySheet.GetUsedRange());  
  MyRowRange.AttachDispatch(MyRange.GetRows());  
  MyColRange.AttachDispatch(MyRange.GetRows());  
   
  long   nRows=MyRowRange.GetCount();  
  long   nCols=MyColRange.GetCount();  
  if(nRows>MAX_ROW_SHOW)  
  nRows=MAX_ROW_SHOW;  
  if(nCols>MAX_COL_SHOW)  
  nCols=MAX_COL_SHOW;  
   
  CString   strText;  
  // CString   strItemVal;  
  _variant_t   vItemVal;  
   
  for(long   i=1;i<=nRows;i++)  
  {  
  for(long   j=1;j<=nCols;j++)  
  {  
  vItemVal=MyRange.GetItem(_variant_t(long(i)),_variant_t(long(j)));  
  BSTR   bstrItem=vItemVal.operator   _bstr_t();  
  CString   strItemVal(bstrItem);  
  // AfxMessageBox(strItemVal);  
  strText=strText+strItemVal+_T("\t");  
  }  
  strText=strText+_T("\n");  
  // AfxMessageBox(strText);  
   
  }  
  以上代码中是取得所有CELL的内容,要设置其内容,只要把调用GetItem改为SetItem就行了Top

相关问题

  • 求教VC中如何对Excel编程
  • 关于在 VC 下对 Excel 编程
  • vc编程总是
  • VC网络编程
  • VC和QT编程
  • VC网络编程
  • 用VC编程实现Access导入Excel时无法加载数据引擎?!!!
  • vc++数据库编程
  • 请教VC编程问题
  • vc++USB编程请教

关键词

  • vc
  • 数据
  • vopt
  • myworkbooks
  • vfalse
  • excelapp
  • 开始

得分解答快速导航

  • 帖主:8thdetective

相关链接

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

广告也精彩

反馈

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