这是一个 python 函数,它创建一个用于在 Excel 中设置超链接的脚本。新脚本在特定页面打开特定 pdf。该函数所属的较大程序每次运行会生成数十个甚至数百个这样的脚本,除了传递给该函数的 args 之外,所有这些脚本都是相同的。当用户关闭 Excel 并退出程序时,它们都会自动删除:
def makeOpener(pdf, page):
'''makes a pyw file to use to hyperlink in excel'''
t = 'c:/temp'
if not os.path.isdir(t):
os.makedirs(t)
tempfile.tempdir = t
py = tempfile.NamedTemporaryFile(suffix='.pyw', delete=False)
lst = ['import subprocess, win32api',
'pdf = r"' + pdf + '"',
'page = "' + str(int(page)) + '"',
'_, exe = win32api.FindExecutable(pdf)',
'opts = "page=" + page',
'clst = [exe, "/A", opts, "/N", pdf]',
'DP = 0x00000008',
'subprocess.Popen(clst, shell=False, creationflags=DP)'
]
py.write('\n'.join(lst))
py.close()
return py.name
麦克风