[[20171211230819]] 『txtからxlsxでの保存方法』(HKLC) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『txtからxlsxでの保存方法』(HKLC)

現在、あるフォルダ内にある複数個のtxtファイルを順に読み込み(例:ABC-1.txt)、グラフと近似線を描写したのちxlsxファイルで保存したいのですがうまくいきません。結果として ABC-1.txt.xlsx というファイルができてしまいます。初歩的な質問かもしれませんがご教授いただけますと幸いです。

Sub trial()

Dim FolderName As String
Dim index As Integer
Dim FileName As String
FolderName = Application.GetOpenFilename
If FolderName = "False" Then
Exit Sub
End If

index = InStrRev(FolderName, "\")
FolderName = Left(FolderName, index)
FileName = Dir(FolderName & "*txt*")

Do While FileName <> ""

 Workbooks.OpenText FileName:=FileName, Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1)), TrailingMinusNumbers:=True

Range("A28:B28").Select

    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Shapes.AddChart2(240, xlXYScatter).Select
    ActiveChart.FullSeriesCollection(1).Select
    ActiveChart.FullSeriesCollection(1).Trendlines.Add
    ActiveChart.FullSeriesCollection(1).Trendlines(1).Select
    Selection.Type = xlExponential
    Selection.DisplayEquation = True
    Selection.DisplayRSquared = True
    ActiveChart.FullSeriesCollection(1).Trendlines(1).DataLabel.Select
    Selection.Left = 270.813
    Selection.Top = 43.831

ActiveWorkbook.SaveAs FileName:=FileName + "." + "xlsx", FileFormat:=xlOpenXMLWorkbook

Workbooks(Workbooks.Count).Close
FileName = Dir()

Loop

End Sub

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 なら、ここが問題なんじゃないですか?(FileNameに.txtが含まれている)
     ↓
 >=FileName + "." + "xlsx"
      ↓
     へ変更
  =left(FileName ,len(FileName )-4) + ".xlsx"

 ※文字列の結合には「+」じゃなく「&」を使って貰えませんか?

(半平太) 2017/12/11(月) 23:33


半平太様

ありがとうございます。無事 .xlsx で保存できました。これはLen関数でファイル名から4文字分引いたところ(.txtの部分)をLeft関数で返して、.xlsx を付けるということでしょうか? 

以後、文字列の結合には&を使うよう心がけます。
(HKLC) 2017/12/11(月) 23:44


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.