Xinwen

Hi all,

There is an existing Excel document within a label named "testLabel", and I need write a C# prgramme to open this Excel document and set the value of "testLabel" to be "MSDN Sample", How can I do that

Now, I get the worksheet object, it's type is "Microsoft.Office.Interop.Excel.Worksheet", but how can I cover it tobe "Microsoft.Office.Tools.Excel" And how can I get the "testLabel" and set it's text

Regards!




Re: Visual Studio Tools for Office How to set the text of a label in Excel (C#)?

Cindy Meister

Does this have to be a VSTO solution, or would you be doing this, for example, through a Windows Forms application

the namespace Microsoft.Office.Tools is only valid for VSTO solutions. The value of a cell in a worksheet, opened using automation, can be set using only Microsoft.Office.Interop.






Re: Visual Studio Tools for Office How to set the text of a label in Excel (C#)?

Xinwen

Thanks Cindy!

My solution is a website, there's a button on the page, click the button can export some data from the page to a Excel workbook, this target workbook is create by a template workbook, there are some labels in the template, and I also need set some label's text as the data from page.

Now I use Microsoft.Office.Interop.Excel to get the Excel Application, Excel Workbook and Excel Worksheet. I know the labels are in the worksheet, but how can I get them and set it

The way now I'm using is

((InteropExcel.Label)myWorksheet.Labels("solutionNameLbl")).Text = "Xinwen's Solution";

But it is not correct. The compiler notice me "COMException was unhandled by user code", and "Exception from HRESULT: 0x800A03EC".






Re: Visual Studio Tools for Office How to set the text of a label in Excel (C#)?

Daniel Molina - MSFT

This forum is intended for VSTO-related questions. Please refer to the Excel newsgroup for support on the use of Excel's object model.

Thanks.

General programming issues: excel.programming newsgroup

http://msdn.microsoft.com/newsgroups/default.aspx dg=microsoft.public.excel.programming&lang=en&cr=US






Re: Visual Studio Tools for Office How to set the text of a label in Excel (C#)?

Andrew Whitechapel - MSFT

As Cindy points out, the namespace Microsoft.Office.Tools is only valid for VSTO solutions, and Worksheet.Labels is a method of the Microsoft.Office.Tools.Excel.Worksheet object.

Not only that, but also, as the documentation clearly states: "The Labels method supports the Visual Studio Tools for Office infrastructure and is not intended to be used directly from your code."

One way you could redesign your code to meet your requirements is to use named ranges instead. You can access named ranges through the Excel object model, without using the VSTO Tools objects. As Daniel points out, you should consult the Excel documentation to see how to work with named ranges or cell references.

For example, look at this article that describes various ways of interacting with cell ranges:

http://msdn2.microsoft.com/en-us/library/ms173186(VS.80).aspx

...and for further details on Excel programming, please look at the link that Daniel pointed out:

http://msdn.microsoft.com/newsgroups/default.aspx dg=microsoft.public.excel.programming&lang=en&cr=US





Re: Visual Studio Tools for Office How to set the text of a label in Excel (C#)?

Xinwen

Thank Andrew and Cindy so much!!!

Good luck!