向excel中增加一个文本框,如何修改这个文本框的边框大小呢?

解决方案 »

  1.   

    TextFrame
    TextBoxes
    TextBox
    Shapes
    Shape
    ?
      

  2.   

    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 324#, 106.5, _
            72.75, 30.75).Select
        Selection.Characters.Text = ""
        With Selection.Font
            .Name = "宋体"
            .FontStyle = "常规"
            .Size = 12
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        Selection.ShapeRange.Line.Weight = 2.25
        Selection.ShapeRange.Line.Visible = msoTrue
        Selection.ShapeRange.Line.Style = msoLineSingle
        Range("H19").Select
    End Sub
      

  3.   

    好象是这样:
    Range   rgMyRge;
    LPDISPATCH   lpDisp;
    lpDisp=rgMyRge.GetBorders();   
    Borders bds;   
    bds.AttachDispatch(lpDisp);   
    Border bd;   
    lpDisp=bds.GetItem();//指定一个文本框   
    bd.AttachDispatch(lpDisp);
    bd.SetLineStyle(COleVariant((short)1));
      

  4.   

    谢谢huisen,
    请问rgMyRge应初始化为哪些对象的集合?
      

  5.   

    Range 对象是用于单元格抽象表示的对象
      

  6.   

    利用模板文件建立新文档,就可以用Range 对象了.
      

  7.   

    这是增加文本框的代码,可以直接用,我需要把文本框的边框线改粗,
    AfxOleGetMessageFilter()->EnableBusyDialog(FALSE);//!!!!   
    AfxOleGetMessageFilter()->SetBusyReply(SERVERCALL_RETRYLATER);   
    AfxOleGetMessageFilter()->EnableNotRespondingDialog(TRUE);   
    AfxOleGetMessageFilter()->SetMessagePendingDelay(-1); if (!ExcelApp.CreateDispatch("Excel.Application", NULL)) 

    AfxMessageBox("Excel!"); 
    exit(1); 
    }  ExcelApp.SetCaption("11");  if (!IsWindow(m_pExcelWnd->GetSafeHwnd()))
    {
    m_pExcelWnd = FindWindow("XLMAIN", "11");
    } if (m_pExcelWnd == NULL)
    {
    AfxMessageBox("未找到Excel窗口。");
    DestroyWindow();
    return ;
    } wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks()); 
    wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("c:\\book1.xlt")));
    wssMysheets.AttachDispatch(wbMyBook.GetWorksheets());
    wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t((long)1))); 
      rgMyRge.AttachDispatch(wsMysheet.GetCells(),true); 
      rgMyRge.SetItem(_variant_t((long)1), _variant_t((long)1), _variant_t("111")); 
      rgMyRge.SetItem(_variant_t((long)2), _variant_t((long)1), _variant_t("222")); 
      rgMyRge.SetItem(_variant_t((long)3), _variant_t((long)1), _variant_t("333"));  Shapes shapes;
    Shape shape;
    ShapeRange shaperange;
    TextFrame textframe;
    Characters m_Characters; shapes.AttachDispatch(wsMysheet.GetShapes(),true);
    shape.AttachDispatch(shapes.AddTextbox(1, 40, 40, 60, 40), true); textframe.AttachDispatch(shape.GetTextFrame(), true);

    m_Characters.AttachDispatch(textframe.Characters(COleVariant((short)1), COleVariant((short)3)), true); 
    m_Characters.SetText("通过"); Font font;
    font = m_Characters.GetFont();
    font.SetBold(covTrue);
    font.SetName(COleVariant("华文中宋"));
    font.SetSize(COleVariant((short)20));
    font.SetColor(COleVariant("255"));
    textframe.SetHorizontalAlignment(1); wbMyBook.SetSaved(true); 
    ExcelApp.SetVisible(true);
      

  8.   

    说实话,用VC操作EXCEL或WORD等,也就是使用COM,但太繁琐,其实完全可以借助别的友好的开发工具做出库来在VC的工程里用。我就使用LabVIEW做了一个操作EXCEL和WORD的动态库,非常好用。
      

  9.   

    没错,我在写一个操作excel的类,以后再用就方便了。
    问题已经解决,感谢三位的关注!
      

  10.   

    WizardK,你做的库可以发给我参考学习一下吗?如果可以请发至[email protected],谢谢!