[PR]
2025年04月19日
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
日付のフォルダを作るVBscript
2020年04月27日
なんかの作業をする場合、日付のフォルダを作ることが多い。
日付だけの場合もあれば、アンダーバーで区切って内容を入れることも。
前回、日付のファイルを作ったので、同様にやってみた。
まずは、日付のフォルダを作るところをググる。
https://dev.w.ezic.info/1926.html
こんなもんか。
例によって、InputBoxを使って文字を取得して、
その内容によって分岐。
テキストファイルは上書きでOKだけど、
フォルダはそうもいかないので存在チェック。
https://multiplechoice.hatenablog.com/entry/2017/12/10/195302
ファイルとフォルダ違うけど、fileをFolderに修正して動いた。
処理の流れは、こんな感じ。
まず、文字を入力。
なしなら日付のフォルダ、あれば日付_入力した文字のフォルダ。
個人的な都合で、「)」で始まる文字を入れた場合は、
日付を()で挟むフォルダ。
以下、ソース。
日付だけの場合もあれば、アンダーバーで区切って内容を入れることも。
前回、日付のファイルを作ったので、同様にやってみた。
まずは、日付のフォルダを作るところをググる。
https://dev.w.ezic.info/1926.html
こんなもんか。
例によって、InputBoxを使って文字を取得して、
その内容によって分岐。
テキストファイルは上書きでOKだけど、
フォルダはそうもいかないので存在チェック。
https://multiplechoice.hatenablog.com/entry/2017/12/10/195302
ファイルとフォルダ違うけど、fileをFolderに修正して動いた。
処理の流れは、こんな感じ。
まず、文字を入力。
なしなら日付のフォルダ、あれば日付_入力した文字のフォルダ。
個人的な都合で、「)」で始まる文字を入れた場合は、
日付を()で挟むフォルダ。
以下、ソース。
'文字列を取得
dim iText
iText = inputbox("作成するフォルダの内容は?")
'フォルダ名
dim date,DirName
date=Replace(now, "/", "")
date=left(date , 8)
if iText ="" then
DirName =date
elseif left(iText,1)=")" then
DirName = "(" & date & ")_" & mid(iText ,2,len(iText)-1)
else
DirName = date & "_" & iText
end if
' ファイルストリーム・オブジェクト生成
Set objFS = CreateObject("Scripting.FileSystemObject")
If objFS.FolderExists(DirName) Then
msgbox "すでにフォルダが存在します"
else
' フォルダを生成する
str_path = objFS.CreateFolder(DirName)
end if
PR
クリップボードの内容をテキストファイルに保存するVBScript①
2020年04月26日
LiveMailを使ってて、印刷や保存をするとき、
印刷プレビューを表示して、印刷ボタンを押す。
だけど、Edgeの印刷はUIがいけてないし、LiveMailの印刷プレビューとかモサモサ。
PDF保存に至っては、PDFプリンタ選択してファイル名指定ってもうイヤ。
じゃあもうテキストファイルでいいじゃん!という話。
テキストファイル扱うんだったら,VBscriptでできるんじゃね?と思いつくってみた。
いずれもググってすぐ欲しいソースが出てきた。めっちゃ簡単やん。
処理の流れ
まずは、クリップボードのテキストを取得。
http://osanai.org/47/
次に、テキストの内容をファイルに出力。
https://win.just4fun.biz/?WSH/ファイルを新規に作成しテキストを書き込むサンプルコード#h38cd307
これで十分そうだけど、保存するファイル名変えたいよね。
now関数で現在時刻を文字列で取れるので、Replaceで置換してファイル名に放り込み。
ファイル名を指定するだけで、スクリプトファイルと同じディレクトリに
クリップボードの内容が日付入りのファイル名で保存される。
いい感じだ!!!
以下、ソース。
の前に、やっぱりファイル名とか自由に変えられたほうがいいよね。
InputBoxで文字を入れたら、それがファイル名に使われる仕様も入れてみた。
今度こそソース。
'ファイル名を生成
印刷プレビューを表示して、印刷ボタンを押す。
だけど、Edgeの印刷はUIがいけてないし、LiveMailの印刷プレビューとかモサモサ。
PDF保存に至っては、PDFプリンタ選択してファイル名指定ってもうイヤ。
じゃあもうテキストファイルでいいじゃん!という話。
テキストファイル扱うんだったら,VBscriptでできるんじゃね?と思いつくってみた。
いずれもググってすぐ欲しいソースが出てきた。めっちゃ簡単やん。
処理の流れ
まずは、クリップボードのテキストを取得。
http://osanai.org/47/
次に、テキストの内容をファイルに出力。
https://win.just4fun.biz/?WSH/ファイルを新規に作成しテキストを書き込むサンプルコード#h38cd307
これで十分そうだけど、保存するファイル名変えたいよね。
now関数で現在時刻を文字列で取れるので、Replaceで置換してファイル名に放り込み。
ファイル名を指定するだけで、スクリプトファイルと同じディレクトリに
クリップボードの内容が日付入りのファイル名で保存される。
いい感じだ!!!
以下、ソース。
の前に、やっぱりファイル名とか自由に変えられたほうがいいよね。
InputBoxで文字を入れたら、それがファイル名に使われる仕様も入れてみた。
今度こそソース。
dim ClipText
ClipText=GetClipboardText()
'テキスト取得
dim iText
iText = inputbox("ファイル名を指定")
'ファイル名を生成
dim date,fName
date=Replace(now, "/", "")
date=Replace( date , ":" , "" )
date=Replace( date , " " , "_" )
date=left(date , 13)
if iText ="" then
fName ="ClipText_" & date & ".txt"
else
fName ="ClipText_" & date & "(" & iText & ").txt"
end if
'テキストファイルを作って書き込み https://win.just4fun.biz/
dim fso,tso
Set fso = CreateObject("Scripting.FileSystemObject")
Set tso = fso.CreateTextFile(fName, true)
tso.Write(ClipText)
tso.Close
'クリップボードを取得 'http://osanai.org/47/
Function GetClipboardText()
Dim objHTML
Set objHTML = CreateObject("htmlfile")
GetClipboardText = Trim(objHTML.ParentWindow.ClipboardData.GetData("text"))
End Function
どうやら環境依存文字があるとうまくいかない。てなわけで②に続く。
どうやら環境依存文字があるとうまくいかない。てなわけで②に続く。