Guest User

Untitled

a guest
Nov 17th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. pywintypes.com_error: (-2147467262, 'No such interface supported', None, None)
  2.  
  3. def xl_vba(self, aop_src, aop_dst, gsrp_src, prod_src, year_of_int):
  4.  
  5. xw.App(visible=False)
  6. # initialize row offsets
  7. file_list = os.listdir('%s' % aop_src)
  8. excel_file_index = 0
  9. prod_data_start_row = 3
  10. os.chdir((aop_src))
  11. for file in (file_list[excel_file_index:]):
  12. if file.endswith(".xlsx") and ("AOP" in file):
  13. current_book = xw.Book(file)
  14. if "Combined" not in file:
  15. project_sheet = current_book.sheets[1]
  16. else:
  17. for sheet in current_book.sheets:
  18. if "Project" in current_book[sheet].name:
  19. project_sheet = current_book[sheet]
  20.  
  21. # Set Year of Interest
  22. project_sheet.range('J17').options(numbers=int).value = 2018
  23.  
  24. # Set B48 According to DC Size
  25. dc_size = float(project_sheet.range('B3').value)
  26. if dc_size >= 2000:
  27. project_sheet.range('B48').value = 0.99
  28. else:
  29. project_sheet.range('B48').value = 0.98
  30.  
  31. # Get fields
  32. losses = project_sheet.range('C88:N88').value
  33. net_gen = project_sheet.range('C90:N90').value
  34. ghi = project_sheet.range('M3:M14').value
  35. aop_prod = project_sheet.range('AM32').options(numbers=float).value
  36.  
  37. project_code = "XX-03-"
  38. asset_id = project_sheet.range('B1').options(numbers=int).value
  39. project_name = project_sheet.range('B2').value
  40. my_date_handler = lambda month, day, year, **kwargs: "%02i%02i%04i" % (month, day, year)
  41. current_date = project_sheet.range('B9').options(dates=my_date_handler).value
  42.  
  43. file_name = project_code + str(asset_id) + "-" + project_name + "-" + "AOP" + "-" + str(current_date) + ".xlsx"
  44.  
  45. current_book.save('%s%s' % (aop_dst, file_name))
  46. current_book.close()
  47.  
  48. production_book = xw.Book(prod_src)
  49. production_sheet = production_book.sheets[0]
  50. production_sheet.range('C%s' %prod_data_start_row).value = aop_prod
  51. production_book.save()
  52. production_book.close()
  53.  
  54. excel_file_index += 1
Add Comment
Please, Sign In to add comment