是这样的,我有两个变量m,n由用户自己设置
m,n分别表示二维数组的行和列
现在我想在EXCEL中的第一列和第一行填写数据,分配表格的时候用到m,n。但EXCEL中分配单元用A1,B1,C1...表示。
问题:比如      range = objSheet.GetRange(COleVariant(A1),
                                COleVariant(A10);
     我该怎么把(A1到A10)用(1到n)来表示。
     

解决方案 »

  1.   

    可以创建成.csv格式的文件,然后就可以随便定义了。
      

  2.   

    CString strcell;

    for(n=1;n<11;n++)
    {
    strcell.Format("A%d",n);
    range.AttachDispatch(sheet.GetRange(COleVariant("A1"),COleVariant(strcell)),true);
    }
    这样,range就是A1到A10的单元格了.
      

  3.   

    二楼强啊,刚才试了下你的代码  嘿嘿 成功!能不能再告诉我怎么转化第一行撒,第一行是A1 B1 C1 D1..我没发现什么规律啊 
      

  4.   

    CString   strcell1,strcell2; for(n=1;n <11;n++) 
    {
    strcell1.Format("A%d",n); 
    strcell2.Format("%c10",(char)('A'+n));
     
    range.AttachDispatch(sheet.GetRange(COleVariant(strcell1),COleVariant(strcell2)),true); 

    这样,range就是A1到K10的单元格了.
      

  5.   

    CString       strcell1,strcell2;   for(n=0;n   <10;n++)   

    strcell1.Format("%c1",(char)('A'+n));   
    strcell2.Format("%c10",(char)('A'+n)); 
      
    range.AttachDispatch(sheet.GetRange(COleVariant(strcell1),COleVariant(strcell2)),true);   
    }   
    这样再试试,range就是A1到K10的单元格,把原理搞清楚就行了.
      

  6.   

    问题解决了,谢谢大家的帮忙,特别是山枫鼎立相助。
    不过有遇到了一个问题 ,那位高手遇到过可以说说撒!
    在EXCEL中我分配一块区域,然后在编辑框中输入数字,要显示在EXCEL中。
    我用了range.setvalue2(COlevariat(m_iRight));但怎么不管输入什么数字,放进去的总是零?。
    我在EXCEL中分配的区域是用二楼的那种方法:
    CString   strcell; for(n=1;n <11;n++) 

    strcell.Format("A%d",n); 
    range.AttachDispatch(sheet.GetRange(COleVariant("A1"),COleVariant(strcell)),true); 

    高手帮下撒,
      

  7.   

    还有就是如果我给参数直接输入个数子的话在EXCEL中正常出现
    rang.setValue2(COlevariant(short(29)));
      

  8.   

    不知道你声明的m_iRight变量是什么类型的?
      

  9.   

    如果是int型,要强制转换成long(m_iRight).
      

  10.   

    请使用VBA,那个专门操作excel表的