下面是一個創建用於設置在Excel中的超鏈接腳本Python函數:
與嘗試。新腳本在特定頁面打開特定PDF。該函數所屬的較大程序每次運行會生成數十個(有時甚至是數百個)這些腳本,除了傳遞給此函數的參數之外,所有這些腳本都是相同的。
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
邁克
這當然是可能的,腳本只不過是普通的文本文件的更多:他們當用戶關閉Excel和退出程序都自動刪除。你有沒有嘗試生成一個呢? –
這個問題有點模糊,可能是「不建設性」的;當然,如果不知道腳本要做什麼,它們如何改變,何時需要改變等,則無法告訴「最佳方式」。 –