2016-04-04 5 views
0

私は現在、Microsoft Access 2003を使用していて、xls添付ファイルで電子メールを送信しています。 xlsxで送信するフォーマットを更新することは可能ですか?私が使用するdocmdステートメントは、acformatをacformatxlsxに変更したときにフォーマットを認識しません。Xlsxのアクセスに関する問題

+0

Excelでxlsxファイルを読み書きできますか? – marlan

+0

することができます、それは、私はそれを行うことができます... – marlan

+0

xlsxファイルを書くことをExcelであなたが意味するものを説明することができますか?私が送る電子メールは、アクセスしているクエリの一部です。 –

答えて

2

Access 2003はXLSX形式を認識しません。 Access 2007以上が必要です。

+0

アクセスをアップグレードせずにバイパスする方法はありますか?電子メール添付ファイルの形式をhtmlに変更しましたが、ブラックベリーの携帯電話から表示すると機能しません。 –

+0

広告1:いいえ広告2:次に、html形式またはBlackBerry携帯電話を使用しないでください。 – Gustav

2

あなたのExcelのXLSXファイルを書き込んだ場合、それを行うことができます。

  1. あなたはExcelのオブジェクトと仕事をしなければなりません。

    Dim ApXl as Object, XlWb as Object, XlWs as Object 
    Dim TableOrQueryNameOrSELECTstatement as String 
    Set ApXl = CreateObject("Excel.Application") 
    
  2. ワークブックを開く/追加し、Xlsx file formatとして保存:(Acc2003が一定を知りません)。

    Set XlWb = ApXL.Application.Workbooks.Add 
    XlWb.SaveAs strFilePath, 51 
    
  3. ワークシートを追加/開く。

    Set XlWs = XlWb.Worksheets(1) 
    
  4. Open a DAO.Recordset, and send it to the worksheet, and save it

    xlWS.Range("A1").Select Dim rst as DAO.Recordset, fld as Variant Set rst = CurrentDB.OpenRecordset(TableOrQueryNameOrSELECTstatement) For Each fld In rst.Fields ApXL.Application.ActiveCell = fld.Name ApXL.Application.ActiveCell.Offset(0, 1).Select Next rst.MoveFirst xlWSh.Range("A2").CopyFromRecordset rst XlWb.Save

  5. あなたのオブジェクトを閉じ、そしてNothingにそれらを設定することを忘れないでください。

+0

Excel 2007以降を実行している場合、このコードは正常に動作するはずです。そうでない場合は、[Word、Excel、およびPowerPoint 2007ファイル形式用のMicrosoft Office互換機能パック](https://www.microsoft.com/en-us/download/details.aspx?id=3)にご注意ください。詳細はこちら[こちら](https://support.office.com/en-us/article/Open-an-Office-Excel-2007-workbook-in-an-earlier-version-of-Excel-868E7F65-7757) -4CAA-830D-A8933A5941CD?ui = en-US&rs = en-US&ad = US&fromAR = 1)。この互換性パックがなければ、以前のExcelはxslx形式のファイルを保存できません。 – marlan

関連する問題