# [メタ情報] # 識別子: Gスライド図形描画の貼り付けカスタムhtml作成_exe # 補足: # [/メタ情報] 要約: このAppleScriptは、WordPress投稿用のリンク付き画像またはスライドのHTMLコードを自動生成するツールです。ユーザーがGoogleスライドまたはGoogle図形描画のURLを入力すると、スクリプトはこれを自動判別し、適切なHTMLを生成します。 Googleスライドの場合、ユーザーは「スライドプレイヤー(`" -- ダイアログでユーザーに入力を求める set bodyURL to text returned of (display dialog " 投稿ページで表示され、かつリンクのサムネイルになる、画像・図形のURLを入力してください。※G図形描画の場合は「共有→ウエブに公開→リンク」、Gスライドの場合は「共有→リンクをコピー」で得られるURLを入れてください。" default answer "") -- 【自動判別】入力されたURLがスライド(presentation)の場合 if bodyURL contains "presentation" then -- ▼▼ Googleスライドの場合の処理 ▼▼ set displayType to button returned of (display dialog "Googleスライドの表示形式を選んでください。" buttons {"スライドプレイヤー(複数枚)", "最初の1枚(高画質静止画)"} default button "最初の1枚(高画質静止画)") if displayType is "スライドプレイヤー(複数枚)" then -- スライドプレイヤー(iframe形式) -- 共有リンク(/edit...)のままだとプレイヤーとして動かないため、安全な置換関数で /embed に書き換え set slideEmbedURL to my replaceText(bodyURL, "/edit?usp=sharing", "/embed") set slideEmbedURL to my replaceText(slideEmbedURL, "/edit", "/embed") set customHTML to templateSlide set customHTML to my replaceText(customHTML, "%bodyurl%", slideEmbedURL) else -- 最初の1枚(img形式:高画質なベクター画像 /export/svg を採用) -- 共有リンクから、安全な置換関数だけで画像用のURLを作成(sed不使用) set srcURL to my replaceText(bodyURL, "/edit?usp=sharing", "/export/svg") set srcURL to my replaceText(srcURL, "/edit", "/export/svg") set customHTML to scriptTemplate set customHTML to my replaceText(customHTML, "%bodyurl%", srcURL) set customHTML to my replaceText(customHTML, "%linkurl%", bodyURL) -- 遷移先は共有URLをそのまま適用 end if else -- ▼▼ Google図形描画の場合の処理(ご提示いただいた元のコードのまま) ▼▼ -- URL内のサイズ指定(w=数字&h=数字)を強制的に1920x1440に書き換える try set bodyURL to do shell script "echo " & quoted form of bodyURL & " | sed -E 's/w=[0-9]+&h=[0-9]+/w=1920\\&h=1440/'" end try set linkURL to text returned of (display dialog " リンク先の画像動画のURLを入力してください。※Google図形描画のメンテを行う場合は、共有→他のユーザーと共有→全員閲覧者にする→リンクをコピーします。" default answer "") -- スクリプトのテンプレートをユーザーの入力で置き換える set customHTML to scriptTemplate set customHTML to my replaceText(customHTML, "%bodyurl%", bodyURL) set customHTML to my replaceText(customHTML, "%linkurl%", linkURL) end if -- 置換用の関数(AppleScript標準機能なのでエラーが起きません) on replaceText(originalText, searchString, replacementString) set AppleScript's text item delimiters to searchString set textItems to text items of originalText set AppleScript's text item delimiters to replacementString set replacedText to textItems as text set AppleScript's text item delimiters to "" return replacedText end replaceText -- 結果を表示 display dialog customHTML -- 結果をクリップボードにコピー set the clipboard to customHTML display dialog "この内容をクリップボードにコピーしました。" ```