워크 시트에서 셀 모음을 선택해야합니다. 나는 범위를 선택하는 방법을 찾을 수 있었지만 세포가 "고립되어있는"때는 선택할 수 없었다.셀 모음 선택
예를 들어 "$의 D $ 4", $ G $ 9 "...
이내 코드 :
이var excelApp = Globals.ThisAddIn.Application;
List<string> unlockedCells = new List<string>();
foreach (_Excel.Range cells in excelApp.ActiveSheet.UsedRange)
{
if (!cells.Locked)
{
unlockedCells.Add(cells.Address);
}
}
unlockedCells.ForEach(_c =>
{
excelApp.Range[_c].Select();
});
새로운 범위가 선택 될 때마다 것으로, 이전의 선택은 여기에 문제가있다 .. 손실
또 다른 방법을 그것은 작동하지 않습니다, 다음과 같은 예외를 Exception from HRESULT: 0x800A03EC at Microsoft.Office.Interop.Excel._Application.get_Range(Object Cell1, Object Cell2)
내가 얻을 범위이다 제기 "$D$8,$E$8,$D$9,$E$9,$D$10,$E$10,$D$11,$E$11,$D$12,$E$12"
StringBuilder output = new StringBuilder();
...
output.Append(String.Format("{0},", cells.Address));
string rangeDef = output.ToString().Left(output.Length - 1);
excelApp.Range[rangeDef].Select();
어떻게하면됩니까? 자체가 Range
속성이 않는 excelApp
있지만 오피스 버전 2016
루프에서 셀 참조 문자열을 만들고 루프 이후에 만든 문자열을 사용하여 셀을 선택하십시오. – ManishChristian
@ManishChristian 나는이 솔루션을 이미 시도했지만 작동하지 않았습니다. 나는 또한 내가 한 일을 보여주기 위해 질문을 수정할 것이다. – blfuentes
[** this **] (http://stackoverflow.com/a/6155286/1652222) 대답이 도움이되는지 확인하십시오. – ManishChristian