ここから本文です

任意のフォルダ(フォルダ1)として、この中に1つのjpgファイル(ファイル名:abc.jpg)...

jun********さん

2018/3/1114:35:30

任意のフォルダ(フォルダ1)として、この中に1つのjpgファイル(ファイル名:abc.jpg)があるとして、これを、ひらいているExcelファイルのセルA2からA10に入力されているランダムな9種類の半角英数

字の記号をつけて複製保存をしたいのですが、ExcelのVBAを使って実行する方法を教えていただきたいと思います。是非、よろしくお願いいたします。

閲覧数:
33
回答数:
1

違反報告

ベストアンサーに選ばれた回答

sk_********さん

2018/3/1117:41:57

こんな感じでどうでしょうか。

セル[A2:A10]に値が入力されているシートがアクティブな状態で、マクロを実行してください。

Sub File_Copy_Sample()
Dim strFilePath As String, strDirPath As String
strFilePath = Application.GetOpenFilename("画像データ,*.bmp;*.jpg;*.gif")
If UCase$(strFilePath) = "FALSE" Then Exit Sub
Dim strFN As String, strEN As String, strNFN As String, n As Long
strFN = Dir(strFilePath)
strDirPath = Replace$(strFilePath, strFN, "")
n = InStrRev(strFN, ".")
strEN = Mid$(strFN, n)
FileCopy strFilePath, strDirPath & Get_RandV() & strEN
End Sub

Private Function Get_RandV() As String
Dim i As Long, lngRnd As Long, v As Variant
Randomize
v = ActiveSheet.Range("A2:A10")
For i = 1 To 10 '名前の文字数はここで変更
lngRnd = Int(Rnd() * UBound(v)) + 1
Get_RandV = Get_RandV & CStr(v(lngRnd, 1))
Next
End Function

  • 質問者

    jun********さん

    2018/3/1118:14:55


    sk_tamotu様
    早速ご回答ありがとうございました。
    試してみました。
    9個のセルの名前が並んだ別名で保存された画像が出来上りました。
    私の質問の仕方が悪かったのですが、A2セルに入力された半角英数字で1つの別名で保存画像、A3セルに入力された半角英数字で1つの別名で保存画像・・・・・・A10セルに入力された半角英数字で1つの別名で保存画像というように同じ画像で9個の別名で保存画像を作れるマクロを教えて頂きたいのです。(実際の複製数は実行したい画像によって様々なのですが)大変申し訳ありませんが、このような形のものをお教え頂けると幸いです。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/3/11 22:10:59

sk_tamotu様
何度もスミマセンでした。
ありがとうございました、希望どおりの結果になりました。
助かりました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる