PowerPoint の自動作成での Python エラーやあみんな、
個々のウィンドウに約 10 個のグラフを出力する JSL スクリプトがあります。 私はパワーポイントの独自のスライドに各グラフを入力する方法に取り組んでいます。 私が見た画像は複雑なので、Python の python-pptx パッケージを使用してこれを実現する方法があり、タイトル付きのすべてのスライドを作成できましたが、画像をパワーポイントにまったく取り込むことができませんでした。 以下は私が作業しているコードスニペットで、コメントアウトされている行がブレークしている行です。 コメントアウトされた行により、画像とパワーポイントが適切なフォルダーに配置され、シームレスに開くので、これはわかります。 しかし、コメントを解除すると画像は保存されますが、ppt がファイル フォルダーに保存される次の行は発生せず、同様に、Jmp は存在しないファイルを開くことができないと言います。 f文字列の使用から文字列の連結まですべてを試してpptに画像を取得しましたが、できません。 助けていただければ幸いです。 ありがとう!
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\neel\Documents\new jmp\";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top, height},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + pic_file
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
#pad_summary_pic = slide_3.shapes.add_picture(img_path, left, top, height=height)
prs.save(rf"{ppt_dir}{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || number || " Review.pptx";
Open(ppt);上記は画像を追加しなくても機能します。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\neel\Documents\new jmp\";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top, height},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + pic_file
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
pad_summary_pic = slide_3.shapes.add_picture(img_path, left, top, height=height)
prs.save(rf"{ppt_dir}{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || number || " Review.pptx";
Open(ppt);add_picture のコメントを外したものはそうではありません。
ありがとう、
ニール
自動化とスクリプト作成データアクセスデータの探索と視覚化ウィンドウズRe: PowerPoint 自動作成時の Python エラーJMP をまったく使用せずに Python コードとして実行してみましたか (これは Python または JMP の問題ですか)。 エラーメッセージはありますか? 私の最初の推測は、パスの構築が間違っている可能性があるということです。 私の知る限り、Python では通常、次のようにするのが良いでしょう。 os.path — 一般的なパス名の操作 — Python 3.11.5 ドキュメント
Re: PowerPoint 自動作成時の Python エラーに加えて@jthiコメント: Python コードを Python try ブロックに配置し、例外をキャッチして処理します。 JMP による例外の処理は、例外をユーザーから隠します。 JMP の外部で Python コードを実行することもできます。
Python Selenium を使用したブラウザ スクリプト私が役に立った try/excel の使用パターンを示します。それは戻りますラジコンどちらかとしてわかりましたまたは例外メッセージのテキスト。 を置く輸入try 内のステートメントは非常に役に立ちました。
Re: PowerPoint 自動作成時の Python エラーこれ(強調表示)が私にとって問題である可能性があるようです。おそらく、パラメータ「height」との競合を避けるために、変数「height」の名前を変更します。

Re: PowerPoint 自動作成時の Python エラーこんにちは。ご返信ありがとうございます。 高さを削除するというあなたの解決策は、私がスクリプトで間違っていると気づいた 2 つの点のうちの 1 つでした。 私の見落としに対する提案をありがとう!
Re: PowerPoint 自動作成時の Python エラーご提案ありがとうございます。 jmp を介して Python によってスローされた例外/エラーをキャッチする方法をさらに検討していきます。 助けてくれてありがとう!
Re: PowerPoint 自動作成時の Python エラーこんにちは、Jarmo さん、パスが間違っているというあなたの提案は、確かに上記のコードの 2 つの間違いのうちの 1 つでした。 ファイル パスの末尾にある \" が、コードがファイルを適切な場所に適切に保存することを実際に妨げていることに気づきませんでした。 助けてくれてありがとう!
Re: PowerPoint 自動作成時の Python エラー提案と助けをくれた皆さん、ありがとう! Python のみを使用したトラブルシューティングを通じて、ファイル パスと高さ変数の両方がファイルの保存と ppt への画像のインポートを妨げていることに気付きました。 以下は、誰かがこれを参照する必要がある場合に備えて、実際に動作するコードです。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\srejann\Documents";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || "\" || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + f"\{pic_file}"
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
pic = slide_3.shapes.add_picture(img_path, left, top)
prs.save(rf"{ppt_dir}\{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || "\" || number || " Review.pptx";
Open(ppt);