slk拡張子のエクセルファイルを保存せずに.xlsに変換するには
slk拡張子のエクセルファイルが開かれています。
私の勉強不足のせいかslkでマクロでピボットテーブルを実行するとエラーになってしまい
それをエクセルファイル.xlsで一旦保存後、実行するとエラーにならずうまくいきます。
その為、slk拡張子のエクセルファイルを.xlsに変換したいと思います。
しかしやりたいのはデータ容量が大きいので保存せずにそのまま.slkファイルを.xlsファイルに変換したいのですがそんなマクロって出来ますでしょうか?
No.2ベストアンサー
- 回答日時:
>何故かはわかりませんが会社のデータ取得システムでslkでエクセルに呼び出すようになっています。
一度、理由は知っておいても損はないと思います。たぶん、十数年もそうしたシステムを使い続けているものだと思います。しかし、修正されるべきものだと思います。現在、海外で、ツールも販売されているようですが、値段はともかく(USD120.-ぐらい)、おそらくExcelの下位バージョンの互換性しかないはずで、再び、Excelの現在のバージョンで読まないとそのまま使えません。
sylkファイルフォーマット
http://support.microsoft.com/kb/410409/ja
この表は、Microsoft Multiplan 4.0 Standard Edition(正確には、4.11)ですが、この仕様は、他社製ですと、公開された標準フォーマットが、3.1 版だったはずで、特に問題はないとは思いますが、もう下位互換ということはありえませんが、上位互換だけです。
'肝心なマクロですが、モジュールのどこかに置いて実行してみてください。
'Excel 2007 でも使用可能なはずです。
Sub Sylk2Xls()
'SYLKファイルを標準フォーマットに替えるマクロ
'複数選択出来ます。
Dim FileNames As Variant
Dim fn As Variant
Dim newFn As String
Dim i As Variant, j As Long
Dim Ext As String
If Val(Application.Version) > 11 Then
Ext = "xlsx"
Else
Ext = "xls"
End If
FileNames = Application.GetOpenFilename("SLYKファイル(*.slk),*.slk", , "SYLKファイルインポート", , True) 'Multiselect:=True
If VarType(FileNames) = vbBoolean Then Exit Sub
For Each fn In FileNames
Application.ScreenUpdating = False
With Workbooks.Open(fn)
Do
If IsEmpty(i) Then
newFn = Mid$(fn, 1, InStrRev(fn, ".")) & Ext
Else
newFn = Mid$(fn, 1, InStrRev(fn, ".")) & "(" & CStr(i) & ")" & Ext
End If
If i > 10 Then MsgBox "Err:Skip Save File", 48: GoTo Jump '*
'*i >0 にすると、重複するファイルは保存しません。
i = i + 1
Loop Until Dir(newFn) = ""
.SaveAs newFn, xlWorkbookNormal
.Close False
j = j + 1
Application.ScreenUpdating = True
i = 1
End With
Jump:
Next fn
If j > 0 Then
MsgBox CStr(j) & "ファイルを処理しました", 64
Else
MsgBox "変換処理されませんでした。"
End If
End Sub
1週間の出張であたふたしてお礼が遅くなり大変申し訳御座いません。
以前のシステムはCSVだったのですが最近導入したシステムがslkなのです。
結局、同タイトルをカレントフォルダで上書き保存して行く事にしました。
誠に有難う御座いました。
No.1
- 回答日時:
slk(シルク または、sylk)というのは、1980年代の表計算テキストフォーマット・ファイルです。
ですから、もうお使いになるのは辞めたほうがよいです。>slk拡張子のエクセルファイルを保存せずに.xlsに変換するには
当時、私は、slkファイルの規則集は、求めたことがあるけれども、私は手にはいらなかった記憶があります。管理工学などは、このフォーマットを使っていたようですが、結局、MSは、この公開フォーマットの仕様を変えたせいか、1990年代に入ると、完全な互換性を失ってしまい、Excelの登場となってからは、ますます利用度が減ってしまいました。
>私の勉強不足のせいかslkでマクロでピボットテーブルを実行するとエラーになってしまい
>それをエクセルファイル.xlsで一旦保存後、実行するとエラーにならずうまくいきます。
それは、プロセスの問題です。一端、xls で保存して実行するしかありません。そもそも、slkファイル自体が存在すること自体が疑問符がつきますが、ピボット・テーブルというものは、オブジェクトですから、slkというテキストファイルでは、オブジェクトを確保できません。
>しかしやりたいのはデータ容量が大きいので保存せずにそのまま.slkファイルを.xlsファイルに変換したいのですがそんなマクロって出来ますでしょうか?
マクロと言われても、単に、slkファイルを、xlsに保管しなおすだけです。
ただ、インターネットサイトで、変換するサイトやツールはあるかもしれません。
詳細な回答有難う御座います。
何故かはわかりませんが会社のデータ取得システムでslkでエクセルに呼び出すようになっています。
その読込んだデータをピボットで資料作成したりします。
slkそのままではピボットマクロがエラーになってしまったので
slkファイルを.xlsファイルに保存せずに変換しピボットマクロに移れたらと思ったのですが
やはり無理みたいですのでタイトルを日付にでもして
一旦保存後ピボットマクロに移るようにしようかと思います。
ActiveWorkbook.SaveAS Filename:=Dateでいけるのかな?と思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- XML エクセルの拡張子XLSのファイルが開けなくなった 3 2022/10/19 11:30
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) ドキュメントに保存していたエクセルのファイルが開きません。 2 2022/12/02 09:38
- Excel(エクセル) フォルダ階層が深いファイルの拡張子の一括変換 2 2022/12/23 18:40
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- PDF エクセルのVBAでファイルをpdfで保存するとソフトによっては開けなくなる 3 2022/06/08 10:20
- Visual Basic(VBA) エクセルVBA Workbook変数に変数を使ったファイル名を格納したい 5 2023/06/13 14:46
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
slk拡張子のエクセルファイルを...
-
OpenOfficeでLotus123は開かない?
-
バッチでテキストファイルから...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
-
アクセス 壊れた? 「ファイ...
-
多数のサブディレクトリ内のフ...
-
ファイルの最後に文字列挿入
-
バッチファイルで以下のような...
-
バッチ処理でファイルの中身を...
-
バッチファイル 特定ウインドウ...
-
バッチファイル 文字列にスペ...
-
バッチファイルで昨日の日付を取得
-
.txtではなく.logの方が良いの...
-
拡張子を元に戻す
-
バッチファイルで、iniファイル...
-
コマンドにてテキストファイル...
-
バッチファイルでサーバーのフ...
-
jarファイル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つのファイルの同...
-
Excelで「変更を保存しますか」...
-
OpenOfficeでLotus123は開かない?
-
slk拡張子のエクセルファイルを...
-
間違えて上書き保存した場合の...
-
CSVファイルををリネームしてxl...
-
CSVデータの数値の表示
-
エクセルにてデータを数ごとに...
-
実行b可能な限界を超えています...
-
excelの動作が遅い
-
サポートの終了したExcel.xlsフ...
-
jpgファイルをaiファイルに戻す
-
Excelファイルをcsvに変換する...
-
互換ファイル作成プログラムは...
-
フォトショップでPDFファイ...
-
MSDOSのCOPYAコマンドの使い方
-
AccessでクエリしたデータをExc...
-
別エクセルからデータを参照とC...
-
複数のファイルからデータを抜...
-
ISOファイルをUSBメモリにコピ...
おすすめ情報