Googleドライブに保存した画像から、
「共有可能なリンクを取得」でURLが得られるのだが
どうもGoogleの画像ビューア経由で表示されてしまい、
HTMLのIMGタグで指定することが出来なかった。
少し調べてみたところURLを加工することで直リンクもイケるらしい。
Google Driveに入れた画像を直接表示するパスを取得する。 - 亀岡的プログラマ日記
1枚2枚なら解説のとおり手作業でも問題無いんだが、
それ以上数をこなしてくとなると結構な手間になるのは目に見えているので、
加工を行うVBSを作ってみた。
VBSでクリップボードのテキスト取得はここら辺を参考にした。
●操作手順
1.Googleドライブにある画像を右クリック 2.「共有可能なリンクを取得」から表示されるリンクを選択してCtrl+Cでコピー 3.VBSを実行して直リンクを表示 4.表示された直リンクをコピー等して使用
GoogleDriveCreatePermalink.vbs
Option Explicit Const TITLE = "Googleドライブ内画像 パーマリンク生成" Const VERSION = "Ver1.00" Const RELEASE = #2017/04/17# Const AUTHOR = "DumBo" Const SEARCH_TEXT = "https://drive.google.com/open?id=" Const REPLACE_TEXT = "https://drive.google.com/uc?export=view&id=" Dim clipText Dim putText 'クリップボードのテキストデータ確認 clipText = GetClipboardText() 'クリップボードが空なら終了する If IsNull(clipText) Then WScript.Echo "貼り付けるデータがありません。" & vbCrLf & _ "とりあえず、何かコピーしてください。。。" WScript.Quit 'クリップボードに共有リンクが含まれていなければ終了する ElseIf InStr(clipText, SEARCH_TEXT) <= 0 Then WScript.Echo "貼り付けるデータが正しくありません。" & vbCrLf & _ "共有可能なリンクを取得からコピーしてください。。。" WScript.Quit End If 'Googleドライブ内画像の共有可能なリンクからパーマリンクを生成する putText = Replace(clipText, SEARCH_TEXT, REPLACE_TEXT) Call InputBox("共有可能なリンクからパーマリンクを生成しました。" & vbCrLf & _ "テキストボックスからコピーして使用してください。", _ TITLE & " " & VERSION, putText) WScript.Quit 'サブルーチン 'クリップボードにあるテキストデータを取得する。なければNullを返す。 Function GetClipboardText() Dim objHTML Set objHTML = CreateObject("htmlfile") GetClipboardText = Trim(objHTML.ParentWindow.ClipboardData.GetData("text")) Set objHTML = Nothing End Function