Note: The other languages of the website are Google-translated. Back to English

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下部
コメントを並べ替える
コメント (2)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、私はこれを使用しようとしましたが、「PictureNametoExcel」マクロを実行すると、最初の写真ファイルのパス名のみが返されます。 フォルダ内の他の写真は一覧表示されません。 どんな助けでも大歓迎です。

補足:「RenameFile」マクロをテストしましたが、これは完全に機能します

感謝
サム
このコメントは、サイトのモデレーターによって最小化されました
こんにちはサム、セル範囲を選択してください。 これは、セルをXNUMXつだけ選択した結果だと思います
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所