0

VisualStudio 2010 for Excel 2007でExcelAddinを実行しています。Excelワークブックには、MyRangeという名前の範囲があります。セルC10からM25に移動します。MyRange内で値を持つセルのみを読み取るにはどうすればよいですか。MyRange内でのみ、他のセルから何も読み取りたくないことに注意してください。値が含まれているセルをWord文書に読み込みたい。私はそれを理解したと思います。

UsedRangeを使用しようとしましたが、A1-M25からすべてを選択します(C10-M25の値を持つセルのみを選択したい)。これが私がこれまでに得たものです。

string FileName = @"C:\MyFile.xlsx";
Excel.Application xlApp = xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = null;
Excel.Worksheet xlWorkSheet = null;

xlWorkBook = xlApp.Workbooks.Open(FileName);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

object cell1 = "C10", cell2 ="M25";
//Here are some different versions that I tried. I also tried to use the SpecialCell    //method but it didn´t seem to work.
Excel.Range namedRange = (Excel.Range)xlWorkSheet.get_Range("C10", "M25");
Excel.Range last = (Excel.Range)xlWorkSheet.UsedRange;
Excel.Range usedRange = (Excel.Range)xlWorkSheet.get_Range("C10", last);

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

0

'namedRange'から各セルの値を読み取るには、次のように範囲をループします。

foreach (Excel.Range cell in namedRange.Cells)
            {
                if (String.IsNullOrEmpty(cell.Value.ToString()))
                {
                    string thisCellHasContent = cell.Value.ToString();
                    string thisCellAddress = cell.Address.ToString();
                }
            } 
于 2012-07-11T16:47:10.863 に答える