[リストへもどる]
一括表示

投稿時間:2002/08/28(Wed) 17:17
投稿者名:tomo
URL :
タイトル:
ファイル名をWordに貼り付け
初めて投稿します。
私はvb超初心者です、同じ作業の繰り返しをプログラムしたいのですが、
いきなり躓いています。
フォルダー内のファイル全てをWordで作成した帳票に、
ファイル名一つに対して帳票一つ貼り付けて印刷したいのですが、
判らないので、教えてくださいよろしくお願いします。
現在vbでファイル一覧は表示できますが、ファイル名を取得できません
os:2000 vb:6.0

投稿時間:2002/08/28(Wed) 17:34
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: ファイル名をWordに貼り付け
左のフレームのメニュにファイル操作関係があります。
その中の ファイル名又はディレクトリー名を読み込む(Dir関数)他を見て
解らない部分があれば又、質問して下さい。

投稿時間:2002/09/02(Mon) 10:25
投稿者名:tomo
URL :
タイトル:
Re^2: ファイル名の次に日時
ファイル操作関係を参考に
何とかフォルダ内の全ファイル名は取得することが出来ました
ありがとうございます。

<追加>
ファイル名と一緒に更新日時も取得したいのですが
うまくいきません。
指定したファイル名一つの更新日時は取得できますが、
全ファイル名と一緒に取得する方法を教えてください
よろしくお願いします。

投稿時間:2002/09/02(Mon) 11:54
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: ファイル名の次に日時
> 指定したファイル名一つの更新日時は取得できますが、
> 全ファイル名と一緒に取得する方法を教えてください

ファイル名を取得した時に同時に更新日時も取得すればOKのはずですが

ちなみに指定したファイル名一つの更新日時の取得はどのようにして取得された
のでしょうか?

参考までに
Private Sub Command1_Click()
    With CreateObject("Scripting.FileSystemObject")
        '"c:\temp.xls" の変わりに取得したファイル名を指定
        'ファイルの更新日時
        Label1.Caption = .GetFile("c:\temp.xls").DateLastModified
        'ファイルの作成日時
        Label2.Caption = .GetFile("c:\temp.xls").DateCreated
        'ファイルのアクセス日時
        Label3.Caption = .GetFile("c:\temp.xls").DatelastAccessed
    End With
End Sub

投稿時間:2002/09/02(Mon) 13:47
投稿者名:tomo
URL :
タイトル:
Re^4: ファイル名の次に日時
> > 指定したファイル名一つの更新日時は取得できますが、
> > 全ファイル名と一緒に取得する方法を教えてください
>
> ファイル名を取得した時に同時に更新日時も取得すればOKのはずですが
>
> ちなみに指定したファイル名一つの更新日時の取得はどのようにして取得された
> のでしょうか?
>
> 参考までに
> Private Sub Command1_Click()
>     With CreateObject("Scripting.FileSystemObject")
>         '"c:\temp.xls" の変わりに取得したファイル名を指定
>         'ファイルの更新日時
>         Label1.Caption = .GetFile("c:\temp.xls").DateLastModified
>         'ファイルの作成日時
>         Label2.Caption = .GetFile("c:\temp.xls").DateCreated
>         'ファイルのアクセス日時
>         Label3.Caption = .GetFile("c:\temp.xls").DatelastAccessed
>     End With
> End Sub

投稿時間:2002/09/02(Mon) 14:05
投稿者名:tomo
URL :
タイトル:
Re^5: ファイル名の次に日時
ファイル操作関係の下記で行いました

  Private Sub Command1_Click()
    Label4.Caption = "作成日= " & FileDateTime("test02.txt")
  End Sub

フォルダ内の全ファイル取得時に更新日時まで一緒に取得する方法がわかりません
ファイル名を取得するのは
Private Sub Command2_Click()
    Dim strMyFile() As String
    Dim strspcFile As String
    Dim intKen      As Integer
    Dim i           As Integer
    Dim kakutyosi   As String
  
    kakutyosi = "spc"
    strspcFile = Dir$("h:\FCP\", vbDirectory Or vbHidden Or vbSystem)

    Do While strspcFile <> ""
        If StrComp(Right$(strspcFile, 3), kakutyosi, 1) = 0 Then
            intKen = intKen + 1
            ReDim Preserve strMyFile(intKen)
            strMyFile(intKen) = strspcFile
        End If
        strspcFile = Dir$
    Loop
    For i = 1 To intKen
        Text1.Text = Text1.Text & strMyFile(i) & vbCrLf
    Next i
    Text1.Text = Text1.Text & vbCrLf & _
        " 全部で " & intKen & " ファイルありました。"  
End Sub
で行っています、できれば同じtext1に表示させたいのですが
ご指導のほどよろしくお願いします

投稿時間:2002/09/02(Mon) 14:35
投稿者名:よねKEN
Eメール:
URL :http://www5b.biglobe.ne.jp/~yone-ken/
タイトル:
Re^6: ファイル名の次に日時
>         Text1.Text = Text1.Text & strMyFile(i) & vbCrLf
Text1.Text = Text1.Text & strMyFile(i) & vbTab & FileDateTime("h:\FCP\" &  strMyFile(i)) & vbCrLf

どう表示したいのかわかりませんが、例えばこんな感じでどうですか?

投稿時間:2002/09/02(Mon) 14:52
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^6: ファイル名の次に日時
貴方が取得したのは作成日時です。更新日時なら

Private Sub Form_Load()
    With Text1
       ' .MultiLine = True   別途プロパティで設定して下さい
       ' .ScrollBars = 3     別途プロパティで設定して下さい
        .FontName = "MS ゴシック"
        .FontSize = 9
    End With
End Sub
Private Sub Command2_Click()
    
    Dim strMyFile() As String
    Dim strspcFile As String
    Dim kakutyosi   As String
    Text1.Text = ""
    
    kakutyosi = "spc"
    strspcFile = Dir$("h:\FCP\", vbDirectory Or vbHidden Or vbSystem)
    Do While strspcFile <> ""
        If StrComp(Right$(strspcFile, 3), kakutyosi, 1) = 0 Then
            With CreateObject("Scripting.FileSystemObject") _
                                    .GetFile("h:\FCP\" & strspcFile)
                
                '更新時間が要らなければStrCut(.DateLastModified, 10)
                Text1.Text = Text1.Text & StrCut(strspcFile, 30) & _
                                    StrCut(.DateLastModified, 20) & vbCrLf
            End With
        End If
        strspcFile = Dir$
    Loop
End Sub

Private Function StrCut(ByRef myString As String, _
                                ByVal LenN As Long) As String
    Dim i           As Long
    Dim j           As Long
    Dim k           As Long
    Dim myStringLen As Long
    Dim strTemp     As String
    If LenN < 1 Then myString = "": Exit Function
    myStringLen = LenB(StrConv(myString, vbFromUnicode))
    If LenN = myStringLen Then             '全部半角文字の場合
        StrCut = myString
        Exit Function
    ElseIf myStringLen < LenN Then         '文字数が足りない時
        StrCut = myString & String$(LenN - myStringLen, " ")
    Else
        strTemp = "": k = 0
        For i = 1 To Len(myString)         '文字数(半角換算)のカウント
            j = Asc(Mid$(myString, i, 1))
            If j >= 0 And j <= 255 Then    '半角の場合のカウント
                k = k + 1
                If k > LenN Then Exit For
                strTemp = strTemp & Mid$(myString, i, 1)
            Else
                k = k + 2                  '全角の場合のカウント
                If k <= LenN Then
                    strTemp = strTemp & Mid$(myString, i, 1)
                ElseIf k - 1 = LenN Then   '漢字分断の処理
                    strTemp = strTemp & " "
                Else
                    Exit For
                End If
            End If
        Next
        StrCut = strTemp
    End If
End Function

よねKEN さんのように Tab でもいいかと思ったのですがファイル名の長短が
あると更新日時が揃わなかったので自作のStrCut関数を使用しました。

投稿時間:2002/09/02(Mon) 16:06
投稿者名:tomo
URL :
タイトル:
Re^7: ファイル名の次に日時
ありがとうございました。
思った事が出来ました。
これを糧とし、これから
vbを勉強していきたいと思います。
よねKENさん、花ちゃんに感謝