【发布时间】:2022-01-01 05:17:08
【问题描述】:
我有 excel 工作簿,并且在范围(“A1”)中的工作表中,假设我在单元格中有这一行
print('Hello World')
有没有办法从 VBA 本身的单元格中运行这个 python 脚本?
非常感谢@Anu
Sub Test()
Dim PID
PID = Shell("python -c '" & Range("A1").Value & "'", vbNormalNoFocus)
End Sub
如何在 VBE 中将输出打印到即时窗口?
我试图将 python 脚本放在一个单元格中,但这并没有给我正确的输出(没有出现错误,但图像没有转换为 Photos/New 文件夹
import os
from PIL import Image
dirname_read = r"C:/Users/Future/Desktop/Photos/Demo/"
dirname_write = r"C:/Users/Future/Desktop/Photos/New/"
names = os.listdir(dirname_read)
count = 0
for name in names:
img=Image.open(dirname_read+name)
name=name.split(".")
if name[-1] == "png" or name[-1] == "jpeg" or name[-1] == "PNG":
name[-1] = "jpg"
name = str.join(".", name)
to_save_path = dirname_write + name
img = img.convert('RGB')
img.save(to_save_path)
count+=1
else:
name = str.join(".", name)
to_save_path = dirname_write + name
img.save(to_save_path)
images = [file for file in os.listdir(dirname_write) if file.endswith(('jpeg', 'png', 'jpg', 'PNG'))]
for image in images:
img = Image.open(dirname_write + image)
img = img.resize((360, 540), Image.ANTIALIAS)
rgb_img = img.convert('RGB')
rgb_img.save(dirname_write + image)
print("Total Converted Count: ", count)
【问题讨论】:
-
如果在同一台计算机上安装了python解释器,那么可以,可以通过shell将python代码传递给解释器。
-
非常感谢您的回复。请给我一个简单的例子好吗?
-
python 代码是否需要在单元格 A1 中? .如果是这样,您可以将单元格值写入
~tmp.py文件,然后使用Wscript.Shell执行它,请参阅example here -
非常感谢。这对我来说是一种解决方法。
-
在收到原始问题的答案后通过添加新要求来编辑您的问题也不好!如果您有一个新问题,那么我建议您接受这个问题的答案,并打开一个新问题并提出额外要求!