PyAddin icon indicating copy to clipboard operation
PyAddin copied to clipboard

`pyaddin init`失败

Open royccg opened this issue 3 years ago • 4 comments

os: window11 office version: office2021 python: python3.9 pyAddin: 0.1.0

执行 pyaddin init --name=sample时报错

PS C:\Users\roych\Desktop\Excel_python> pyaddin init --name=sample
[INFO] (1/3) Creating add-in structure...
[INFO] (2/3) Creating menu callback subroutines...
[ERROR] (-2147352567, '发生意外。', (0, 'Microsoft Excel', '不信任到 Visual Basic Project 的程序连接\n', 'xlmain11.chm', 0, -2146827284), None)

请问,这个 不信任到 Visual Basic Project 的程序连接,怎么处理呢,谢谢

royccg avatar Aug 16 '22 03:08 royccg

我通过 在设置中 启用信任对VBA工程对象模型的访问,现在是可以 pyaddin initimage

但是打开 xlam文件后,仍然报错如下 image image

royccg avatar Aug 16 '22 03:08 royccg

感谢反馈问题。

  • 第一个问题你已经正确解决。

  • 第二个问题是因为你的Excel是64位版本,而图中标红的VBA声明语句只适用于32位版本。

针对这个具体的xlam文件的解决方法:根据错误提示,将第二幅图中红色标识的语句加上 PtrSafe 关键字;更一般的解决方法是,请在Python第三方库安装目录site-packages下找到"PyAddin/pyaddin/resources/vba/general.bas",同样修改第2行,然后pyaddin init重新生成。

Public Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpDest As Any, lpSource As Any, ByVal cBytes&)

dothinking avatar Aug 16 '22 07:08 dothinking

我修改之后,现在还是报错

PS C:\Users\roych\Desktop\Excel_python> pyaddin init --name=sample
[INFO] (1/3) Creating add-in structure...
[ERROR] '<win32com.gen_py.Microsoft Excel 16.0 Object Library.Workbooks instance at 0x2697954276832>' object has no attribute 'open'

我的pip list:

PS C:\Users\roych\Desktop\Excel_python> pip list
Package                   Version
------------------------- ---------
altgraph                  0.17.2
fire                      0.4.0
future                    0.18.2
Nuitka                    1.0.4
pefile                    2022.5.30
pip                       22.2.2
pyAddin                   0.1.0
pyinstaller               5.3
pyinstaller-hooks-contrib 2022.8
pywin32                   304
pywin32-ctypes            0.2.0
setuptools                58.1.0
six                       1.16.0
termcolor                 1.1.0
xlwings                   0.27.12

royccg avatar Aug 17 '22 14:08 royccg

I hit the same error

(venv) C:\Users\yuxuz\OneDrive\Documents\projects>pyaddin init --name=SuperAddin [INFO] (1/3) Creating add-in structure... [ERROR] '<win32com.gen_py.Microsoft Excel 12.0 Object Library.Workbooks instance at 0x2321409527472>' object has no attribute 'open'

yuxuzi avatar Sep 04 '22 01:09 yuxuzi