アプリ版:「スタンプのみでお礼する」機能のリリースについて

セルの値で
フォルダやファイル名とファイルの内容を一気に保存したいのですが、
どうしても式がわかりません。。

やりたいことはここにまとめてます。

http://bsmile.sakura.ne.jp/phptest/cc1.jpg


A列のフォルダと作って、

B行のファイル名で、

C行の内容のファイルを作りたいのです。


1については、
http://hamachan4.exblog.jp/10612140/

にある通り、

Dim mydir As String
Dim i As Integer

For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
mydir = "C:\Users\user\Desktop\test\" & Cells(i, 1).Value
If Dir(mydir, vbDirectory) = vbNullString Then MkDir mydir
Next i
MsgBox "完了しました"

End Sub

フォルダを作る事はできそうなのですが、


2のフォルダパスをどう指定したらいいのか?
(3はなんとなくできそうなですが、)
で、色々みたんですが、どうしてもわからずで、

どういったVBAを組めばこの動作ができるでしょうか?


どうかよろしくお願いいたします。

m(_ _)m

A 回答 (2件)

csvならこの程度、、、


Option Explicit
Sub Ottotto()
Const xPath0 = "C:\Users\user\Desktop\test\"
Dim xSheet As Worksheet
Dim xPath As String
Dim xName As String
Dim xText As String
Dim nn As Integer
Application.DisplayAlerts = False
Set xSheet = ActiveSheet
For nn = 1 To xSheet.Range("A" & Rows.Count).End(xlUp).Row
xName = xSheet.Cells(nn, "B").Value
xText = xSheet.Cells(nn, "C").Value
xPath = (xPath0 & xSheet.Cells(nn, "A").Value & "\")
If (Dir(xPath, vbDirectory) = vbNullString) Then
MkDir xPath
End If
ChDrive (Left(xPath, 1))
ChDir (xPath)
With Workbooks.Add
Worksheets(1).Cells(1, "A").Value = xText
.SaveAs (xPath & xName & ".csv")
.Close False
End With
Next
Application.DisplayAlerts = True
End Sub
    • good
    • 0
この回答へのお礼

神様
ありがとうございました!!
(^^)

お礼日時:2013/04/17 10:43

手操作とはすこし感覚が違うので戸惑ったんじゃないかな。

たぶん、見逃しただけだよ。

Openで、ファイルが無ければ作成されます。
http://home.att.ne.jp/zeta/gen/excel/c04p45.htm

この回答への補足

フォルダの設定の仕方がわからないんです。

Open "C:\Users\test.txt" For Binary As #

これは理解できるんですが、

UsersがA1のセルに書いてあるフォルダだった場合

Open "C:\" & Cells(1, 1).Value & "\test.txt" For Binary As #1

かなと思ったんですが、エラーになってどうしようもないんです。

このフォルダの指定方法が知りたいです。

補足日時:2013/04/17 10:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!