繁体   English   中英

没有操作 Excel 文件 - VBA & Python

[英]No opeing Excel File - VBA & Python

我在 OneDrive 上有一些文件。 我的 Python 程序正好查找 5 个文件并粘贴到本地文件夹 (C:/..)。 在此之后,一个大宏执行1 output 中的所有数据的合并。

在我的 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 返回 0。此后,原来的 Excel 关闭,我不知道为什么。

有人有同样的问题吗? 我没有错误代码或任何帮助搜索解决方案的东西。

清理 Microsoft Office 的缓存解决了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM