[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.