没有打开 Excel 文件 - VBA & Python
No opeing Excel File - VBA & Python
我在 OneDrive 上有一些文件。我的 Python 程序只查找 5 个文件并粘贴到本地文件夹 (C:/..)。在此之后,一个大宏将所有数据合并为 1 个输出。
在我的 Python 程序中,我有这个错误:
(-2147023170, 'Falha na chamada de procedimento remoto.', None, None)
这是原代码:
def job(path,sheet,init, destinationi, hoje, ontem):
files = os.listdir(path)
paths = [os.path.join(path, basename) for basename in files if '.xlsx' in basename]
for i in paths:
destination = ''
i_div = i.split('/')
i_name = i_div[len(i_div)-1]
for j in namefile:
if j in i and not i_name.startswith('~$'):
destination = destinationi + j + hoje + '.xlsx'
i_name = j + hoje
if destination != '':
try:
app = xw.App(add_book=False)
app.display_alerts = False
wb = app.books.api.Open(i, UpdateLinks=False)
book = xw.Book(impl=xw._xlwindows.Book(xl=wb))
print("Abriu às "+str(datetime.now())+" - "+i_name)
try:
book.save(destination)
print("Salvou cópia às "+str(datetime.now())+" - "+i_name)
except Exception as e: print(e)
book.close()
app.kill()
print("Fechou às "+str(datetime.now())+" - "+i_name)
except Exception as e:
print(e)
我还有一个大宏,一天执行好几次。然而,今天我在这段代码中有一个奇怪的错误,它打开了 Python 应该放在文件夹中的文件(我手动放置后执行):
For Each oArq In oPat.Files
Workbooks.Open oArq
nova = ActiveWorkbook.Name
li = WorksheetFunction.CountA(Columns("F"))
Range("A2:BT" & li).Copy
Windows(nomeplan).Activate
Sheets(sub1).Activate
li2 = WorksheetFunction.CountA(Columns("F"))
If li2 = 1 Then
Range("A1").Select
ActiveCell.Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.DisplayAlerts = False
Workbooks(nova).Close
GoTo aqui
End If
Range("A1").End(xlDown).Select
ActiveCell.Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.DisplayAlerts = False
Workbooks(nova).Close
aqui:
Next oArq
在简历中:宏打开其他文档Excel,进行复制和粘贴,然后关闭文件。有时,它转到“DeuRuim”,但 Err.Number return 0。此后,原来的 Excel 关闭,我不知道为什么。
有人遇到同样的问题吗?我没有错误代码或任何可帮助搜索解决方案的信息。
清理 Microsoft Office 缓存时问题已解决。
我在 OneDrive 上有一些文件。我的 Python 程序只查找 5 个文件并粘贴到本地文件夹 (C:/..)。在此之后,一个大宏将所有数据合并为 1 个输出。
在我的 Python 程序中,我有这个错误:
(-2147023170, 'Falha na chamada de procedimento remoto.', None, None)
这是原代码:
def job(path,sheet,init, destinationi, hoje, ontem):
files = os.listdir(path)
paths = [os.path.join(path, basename) for basename in files if '.xlsx' in basename]
for i in paths:
destination = ''
i_div = i.split('/')
i_name = i_div[len(i_div)-1]
for j in namefile:
if j in i and not i_name.startswith('~$'):
destination = destinationi + j + hoje + '.xlsx'
i_name = j + hoje
if destination != '':
try:
app = xw.App(add_book=False)
app.display_alerts = False
wb = app.books.api.Open(i, UpdateLinks=False)
book = xw.Book(impl=xw._xlwindows.Book(xl=wb))
print("Abriu às "+str(datetime.now())+" - "+i_name)
try:
book.save(destination)
print("Salvou cópia às "+str(datetime.now())+" - "+i_name)
except Exception as e: print(e)
book.close()
app.kill()
print("Fechou às "+str(datetime.now())+" - "+i_name)
except Exception as e:
print(e)
我还有一个大宏,一天执行好几次。然而,今天我在这段代码中有一个奇怪的错误,它打开了 Python 应该放在文件夹中的文件(我手动放置后执行):
For Each oArq In oPat.Files
Workbooks.Open oArq
nova = ActiveWorkbook.Name
li = WorksheetFunction.CountA(Columns("F"))
Range("A2:BT" & li).Copy
Windows(nomeplan).Activate
Sheets(sub1).Activate
li2 = WorksheetFunction.CountA(Columns("F"))
If li2 = 1 Then
Range("A1").Select
ActiveCell.Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.DisplayAlerts = False
Workbooks(nova).Close
GoTo aqui
End If
Range("A1").End(xlDown).Select
ActiveCell.Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.DisplayAlerts = False
Workbooks(nova).Close
aqui:
Next oArq
在简历中:宏打开其他文档Excel,进行复制和粘贴,然后关闭文件。有时,它转到“DeuRuim”,但 Err.Number return 0。此后,原来的 Excel 关闭,我不知道为什么。
有人遇到同样的问题吗?我没有错误代码或任何可帮助搜索解决方案的信息。
清理 Microsoft Office 缓存时问题已解决。