2014-02-17 3 views
0

글쎄, 'C : \로 시작하는 모든 Excel 셀을 변경하는 미니 프로그램이 있지만 문제가 있습니다. 나는 이것을 위해 range.replace를 사용한다. 그러나 내 프로그램은 틀리게 작동한다. 왜냐하면 모든 셀에 'C : \'가 포함되어 있기 때문에 바뀌지 않기 때문이다. 처음 만 바꾸면 어떤 이유인지 알 수 없다.range.replace를 사용하여 셀 변경

내 코드는 다음과 같습니다

foreach (Excel.Worksheet sheet in xlWorkBook.Sheets) 
{ 
    string sheetName = sheet.Name; 
    Console.WriteLine(sheetName); 


    //seleccion rango activo 
    range = sheet.UsedRange; 

    //leer las celdas 
    int rows = range.Rows.Count; 
    int cols = range.Columns.Count; 
    //Excel.Range startCell = sheet.Cells[1, 1]; 
    //Excel.Range endCell = sheet.Cells[rows, cols]; 
    sheet.Range["A1:J1000"].Replace(@"='C:\", @"='T:\"); 

    //range = sheet.UsedRange; 
    // leer las celdas 
    //int rows = range.Rows.Count; 
    //int cols = range.Columns.Count; 

    //} 
    // liberar 
    releaseObject(sheet); 
    } 

답변

1

당신이 선택한 범위의 모든 셀에 대해 다른 foreach -Loop 할 필요가있다.

는 지금이 권리를 테스트하는 방법이 없습니다, 그러나 이것은 작동합니다 :

object whatToReplace = "what you want to replace"; 
object replacement = "what you want to replace it with"; 

foreach(Range cell in range) 
{ 
    cell.Replace(whatToReplace, replacement); 
} 
+0

이 아니, 그건 당신이 할 수있는 문제가 아니다 그것은 "B"로 모든 "A"를 대체 작동 A1 : A10 범위. 범위 ("A1 : A10") : 대체 할 내용 : = "A", 대체 : "B" – CRondao

+0

해결책은 무엇입니까? –