保存先フルパスの書き方を教えてください | |
---|---|
[194732] 保存先フルパスの書き方を教えてください- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ サーフェン -(2022/02/09(15:30)) □U R L/ セルの値をフルパスに指定したいのですが、上手くいきません ご教授ください。 Sub 指定セル範囲を画像として保存() Dim Data As Range Dim Cht As Chart Dim ws1 As Worksheet Set ws1 = ThisWorkbook.Worksheets("sheet1") With ws1 .Unprotect Set Data = .Range("A1:H11") Data.CopyPicture Appearance:=xlScreen, Format:=xlBitmap Set Cht = .ChartObjects.Add(0, 0, Data.Width, Data.Height).Chart Cht.Parent.Select Cht.Paste ↓ここから Cht.Export Filename:="C:\Users\Desktop\工事写真\@ここにセルの値\ Aここに2つのセルの値を結合した値.Jpg ↑ここまでです Cht.Parent.Delete .Protect End With Set Data = Nothing Set Cht = Nothing Set ws1 = Nothing End Sub @はフォルダです Cells(2,3).Valueの値です @のフォルダは必ず存在しています Aはファイル名です Cells(4,7).Value と Cells(3,3).Valueの値です 申し訳ございませんが、宜しくお願い致します。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[194733] Re[1]: 保存先フルパスの書き方を教えてください- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2022/02/09(15:47)) □U R L/ 参考まで。 Sub test() Const dt As String = "C:\Users\Desktop" '定数 Dim mydt As String '自アカウントのデスクトップのパス Dim koujigz As String '工事写真フォルダ名 Dim mycelval As String 'セルの値 koujigz = "工事写真" mydt = CreateObject("WScript.Shell").SpecialFolders("Desktop") mycelval = ThisWorkbook.Worksheets(1).Cells(1, 1).Value MsgBox dt & vbCrLf & mydt & vbCrLf & koujigz & vbCrLf & mycelval End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[194734] Re[2]: 保存先フルパスの書き方を教えてください- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2022/02/09(16:26)) □U R L/ セルの値をパスなどに使う場合は注意が必要です。 日付などはセルに入力されている内容と表示が違う場合があります。 Sub test2() Dim rng As Range Set rng = ActiveCell rng.Value = Date rng.NumberFormatLocal = "yyyy""年""m""月""d""日"";@" MsgBox rng.Value * 1 & vbCrLf & rng.Value & vbCrLf & rng.Text 'セルのシリアル値/セルの値/セルの表示 Set rng = Nothing End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[194735] Re[3]: 保存先フルパスの書き方を教えてください- ■記事引用/メール受信=OFF■ □投稿者/ Windows98 -(2022/02/09(17:16)) □U R L/ あー、デスクトップのパスは、WindowsNT以降だっけかから、 PCやログイン名?で変わりますから、上で書かれているように デスクトップのパス = CreateObject("WScript.Shell").SpecialFolders("Desktop") で、取るのが望ましいです。 Windows98の頃は、全部一緒で覚えやすかったです。 |
[194736] Re[4]: 保存先フルパスの書き方を教えてください- ■記事引用/メール受信=OFF■ □投稿者/ サーフェン -(2022/02/09(17:36)) □U R L/ OK様 お世話になっております。 おかげさまで完成いたしました。 ありがとうございます。 すみません、変数名を変えさせてもらいました。 Sub 指定セル範囲を画像として保存() Dim Data As Range Dim Cht As Chart Dim ws1 As Worksheet Set ws1 = ThisWorkbook.Worksheets("sheet1") With ws1 .Unprotect Set Data = .Range("A1:H11") Data.CopyPicture Appearance:=xlScreen, Format:=xlBitmap Set Cht = .ChartObjects.Add(0, 0, Data.Width, Data.Height).Chart Cht.Parent.Select Cht.Paste Const Path1 As String = "C:\Users\Desktop\工事写真\" Dim Folder1 As String 'セルの値 Dim Folder2 As String 'セルの値 Dim Folder3 As String 'セルの値 Dim FullPath As String Folder3 = Format(.Cells(3, 3).Value, "ggge年mm月dd日") Folder1 = .Cells(2, 3).Value & "\" Folder2 = .Cells(4, 3).Value & "_ " & .Cells(4, 7).Value & "_ " FullPath = Path1 & Folder1 & Folder2 & Folder3 & ".jpg" Cht.Export Filename:=FullPath Cht.Parent.Delete .Protect End With Set Data = Nothing Set Cht = Nothing Set ws1 = Nothing End Sub ありがとうございます。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[194737] Re[5]: 保存先フルパスの書き方を教えてください- ■ / 記事引用/メール受信=OFF■ □投稿者/ サーフェン -(2022/02/09(17:39)) □U R L/ Windows98 様 >デスクトップのパスは、WindowsNT以降だっけかから、 >PCやログイン名?で変わりますから、上で書かれているように >デスクトップのパス = CreateObject("WScript.Shell").SpecialFolders("Desktop") >で、取るのが望ましいです。 了解しました。 ありがとうございます。 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
このトピックに書きこむ |
---|