ファイルを開いたときにExcelで開くが、Excelファイル自体ではない(開かれたときに変換される)ファイルがある。これらのファイルの情報の一部を別のExcelシートに取り込むことができるようにしたいのですが、Excelファイルではないので、ファイルをリンクすることはできません。VBAでExcel以外のファイルを開いて保存する
これらのファイルをVBA(Excelファイルとして開く)で開いて永久エグゼクティブファイルとして保存したいので、私が望むように使用できます。ファイルを開くには
、私はこのコードを持っている:
Option Explicit
Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (_
ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Function OpenAnyFile(FileToOpen As String)
Call ShellExecute(0, "Open", FileToOpen & vbNullString, _
vbNullString, vbNullString, 1)
End Function
Sub OpenFile()
Call OpenAnyFile("C:\Filename")
End Sub
をしかし、私は、このコードでは、今開いているファイルを保存する方法がわからないと思います。あなたにこのコードを配置し、Excel VBEからそれを実行している場合
API呼び出しの代わりに 'Workbooks.Open'または' Workbooks.OpenText'を使用するとどうなりますか? – Rory
@RoryファイルをExcelで開きますが、正しくフォーマットされていません。ファイルを開いて適切なExcelファイルに変換するときに起こる特別なプロセス/変換があります。 – ryangicn
次に、いくつかのパラメータを指定する必要があります。ファイルの形式は何ですか? – Rory