Note: The other languages of the website are Google-translated. Back to English
ログイン  \/ 
x
or
x
今すぐ登録  \/ 
x

or

Excelのセルのリストに従って、フォルダ内のすべての画像名の名前を変更するにはどうすればよいですか?

シート内のセルのリストに従って画像の名前を変更しようとしたことがありますか? もしそうなら、名前をXNUMXつずつ変更せずにジョブをすばやく処理するためのトリックはありますか? この記事では、Excelでこのジョブをすばやく処理するためのXNUMXつのVBAコードを紹介します。

フォルダ内のすべての画像名の名前を変更します


フォルダ内のすべての画像名の名前を変更します

指定したフォルダ内のすべての画像名の名前を変更するには、最初にシートに元の名前をリストする必要があります。

1。 押す Altキー+ F11 を有効にするためのキー アプリケーション向け Microsoft Visual Basic 窓。

2。 クリック インセット > モジュール 以下のコードをスクリプトに貼り付けます。

VBA:フォルダの画像名を取得する

Sub PictureNametoExcel()
'UpdatebyExtendoffice201709027
    Dim I As Long
    Dim xRg As Range
    Dim xAddress As String
    Dim xFileName As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a cell to place name list:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xRg = xRg(1)
    xRg.Value = "Picture Name"
    With xRg.Font
    .Name = "Arial"
    .FontStyle = "Bold"
    .Size = 10
    End With
    xRg.EntireColumn.AutoFit
    Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
    I = 1
    If xFileDlg.Show = -1 Then
        xFileDlgItem = xFileDlg.SelectedItems.Item(1)
        xFileName = Dir(xFileDlgItem & "\")
        Do While xFileName <> ""
            If InStr(1, xFileName, ".jpg") + InStr(1, xFileName, ".png") + InStr(1, xFileName, ".img") + InStr(1, xFileName, ".ioc") + InStr(1, xFileName, ".bmp") > 0 Then
                xRg.Offset(I).Value = xFileDlgItem & "\" & xFileName
                I = I + 1
            End If
            xFileName = Dir
        Loop
    End If
    Application.ScreenUpdating = True
End Sub

3。 押す F5 キーを押してコードを実行すると、ダイアログがポップアップして、名前リストを出力するセルを選択するように促します。 スクリーンショットを参照してください:
フォルダ内の画像の名前を変更するドキュメント1

4。 クリック OK そして、現在のワークシートに画像名をリストする必要がある指定されたフォルダを選択します。 スクリーンショットを参照してください:
フォルダ内の画像の名前を変更するドキュメント2

5。 クリック OK。 画像名はアクティブシートに記載されています。

次に、写真の名前を変更できます。

1。 押す Altキー+ F11 を有効にするためのキー アプリケーション向け Microsoft Visual Basic 窓。

2。 クリック インセット > モジュール 以下のコードをスクリプトに貼り付けます。

VBA:写真の名前を変更する

Sub RenameFile()
'UpdatebyExtendoffice20170927
    Dim I As Long
    Dim xLastRow As Long
    Dim xAddress As String
    Dim xRgS, xRgD As Range
    Dim xNumLeft, xNumRight As Long
    Dim xOldName, xNewName As String
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRgS = Application.InputBox("Select Original Names(Single Column):", "KuTools For Excel", xAddress, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Select New Names(Single Column):", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    xLastRow = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Set xRgD = xRgD(1)
    For I = 1 To xLastRow
        xOldName = xRgS.Offset(I - 1).Value
        xNumLeft = InStrRev(xOldName, "\")
        xNumRight = InStrRev(xOldName, ".")
        xNewName = xRgD.Offset(I - 1).Value
        If xNewName <> "" Then
            xNewName = Left(xOldName, xNumLeft) & xNewName & Mid(xOldName, xNumRight)
            Name xOldName As xNewName
        End If
    Next
    MsgBox "Congratulations! You have successfully renamed all the files", vbInformation, "KuTools For Excel"
    Application.ScreenUpdating = True
End Sub

3。 押す F5 キーを押してコードを実行すると、ダイアログがポップアップ表示され、置き換える元の画像名を選択するように求められます。 スクリーンショットを参照してください:
フォルダ内の画像の名前を変更するドキュメント3

4。 クリック OK、XNUMX番目のダイアログ内で画像名を置き換える新しい名前を選択します。 スクリーンショットを参照してください:
フォルダ内の画像の名前を変更するドキュメント4

5。 クリック OK、画像名が正常に置き換えられたことを通知するダイアログが表示されます。
フォルダ内の画像の名前を変更するドキュメント5

6. [OK]をクリックすると、画像名がシートのセルに置き換えられます。

フォルダ内の画像の名前を変更するドキュメント6
下向き矢印
フォルダ内の画像の名前を変更するドキュメント7

関連記事:


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300以上の強力な機能。 Office / Excel2007-2019および365をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 全機能30日間の無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性が50%向上し、毎日何百ものマウスクリックが減ります。
officetab下部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sam Jones · 2 years ago
    Hi, i've tried using this however running the 'PictureNametoExcel' macro only returns the first photo file path name. The other photos in the folder wont be listed. Any help would be greatly appreciated.

    Side note: I've tested the 'RenameFile' Macro and that works perfectly

    Thanks
    Sam
    • To post as a guest, your comment is unpublished.
      Dunmoye · 11 months ago
      Hi Sam, Select the cell range. I guess this is as a result of you selecting just one cell