파일을 다운로드 받을 때마다 엑셀 내용을 변경해야 하는데 어떻게 해야 할까요

  • Serial번호가 14744979이면 MODEL을"EC250EL" → "EC250EL★"로 변경해야 하는 등의 ACTIVITY를 다운로드 받은 전체 엑셀 파일에 대해서 수행합니다.

  • 이런 작업이 몇 개 되지 않아서 - 20개 정도 - 단순히 IF문으로 수행해보려고 했는데 Sheet가 여러 개이고 VB는 제가 익숙하지 않아서 어떻게 수행해야 할 지 모르겠어요.

  • 아쉬운 데로 PYTHON으로 작성했던 것을 올립니다.

      # 4. 모델 변환
      user_path = 'Administrator'
      src = "C:\\Users\\"+user_path+"\\Desktop\\순서투입계획\\원본\\"
      dst = "C:\\Users\\"+user_path+"\\Desktop\\순서투입계획\\수정\\" 
      path_dir = "C:\\Users\\"+user_path+"\\Desktop\\순서투입계획\\원본\\"
      file_list = os.listdir(path_dir)
    
      wb=op.load_workbook(dst+file_list[0][:-4]+".xlsx")
      sheet= wb[file_list[0][:-4]]
      end_row = sheet.max_row
    
      file_name = dst+file_list[0][:-4]+".xlsx"
    
      def model(NUM, MODEL_REAL,MODEL_TRANSFORM):
          i=2
          for i in range(i, end_row):
              if sheet['N'+str(i)].value == int(NUM):
                  for row in sheet.iter_rows(max_row=end_row):
                      for cell in row:
    
                          if cell.value == MODEL_REAL:
                              cell.value = MODEL_TRANSFORM
    
      model(14744979,"EC250EL","EC250EL★")
      model(14744979,"EC250ELR","EC250ELR★")
      model(14744979,"EC250ENL","EC250ENL★")
      model(14744979,"EC250ELC4","EC250ELC4★")
      model(14776967,"EC250EL","EC250EL●")
      model(14776967,"EC250ENL","EC250ENL●")
      model(14741805,"EC300EL","EC300EL★")
      model(14741805,"EC300ENL","EC300ENL★")
      model(14748683,"EC300EL","EC300EL■")
      model(14748683,"EC300ENL","EC300ENL■")
      model(14748683,"EC300ELR","EC300ELR■")
      model(14748683,"EC300ELC4","EC300ELC4■")
      model(14737794,"EC350EL","EC350EL★")
      model(14737794,"EC350ENL","EC350ENL★")
      model(14776951,"EC300EL","EC300EL◆")
      model(14776951,"EC300ENL","EC300ENL◆")
      model(14770596,"EC350EL","EC350EL◆")
      model(14770596,"EC350ENL","EC350ENL◆")
      model(14789417,"EC380ENL","EC380ENL◆")
      model(14789417,"EC380EL","EC350EL◆")
      model(14724958,"EC480EL","EC480EL★")
      model(14724430,"EC140DL","EC140DL★")
    

UiPath 모던엑티비티 사용중이시라면
Excel Process Scope > Use Excel File > For each Excel Sheet > For Each Excel Row > If
엑티비티 사용 후 If 에 조건으로 currentrow(“Serial”).ToString = “14744979” 넣고 True면 값 바꾸는 식이면 될거같네요

1 Like

모던 액티비티가 어떤 패키지에 있는 건가요?

최신 UiPath버전의 경우에는 추가적으로 패키지를 다운로드받을 필요 없이 기본적으로 포함되어있습니다.
프로젝트 패널에 있는 프로젝트 세팅 버튼 누르시면 나오는 창에서 General 탭의 Modern Design Experience가 Yes로 설정되어있으면 사용이 가능합니다.

감사합니다! 해결 될 것 같습니다. 예제에서는 해결 되었네요.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.