ここでフォーラムを検索しましたが、このコードを動作させることはできません。アクセスからExcelの名前付きセルに書き込む
Excelでワークブックを開いて、いくつかのセル(名前付き範囲)を設定しようとしています。私は正常にブックを開くことができます(ワークブックには、VBAのビットがありますが、フォーマットするだけでも起動します)。しかし、情報を入力すると「実行時エラー」が表示されます。このプロパティまたはメソッドをサポートしてください。
他の同様の質問の前回の回答から、私はすべてのことを示唆していましたが、私はそれを動作させるようには見えません。
As a Sidenote this is not a form it is just spreadsheet
Option Compare Database
Option Explicit
Public Sub MaterialInput()
Dim xlapp As Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim RsClient As Recordset
Dim RsJobsite As Recordset
Dim db As Database
Dim ClientSTR As String
Dim JobsiteSTR As String
Dim customer As Variant
Set db = CurrentDb
JobsiteSTR = "SELECT T1Jobsites.JobsiteNickName FROM T1Jobsites WHERE T1Jobsites.JobsiteID = 1" ' & Form_LEM.TxtJobsiteID
Set RsJobsite = db.OpenRecordset(JobsiteSTR, dbOpenSnapshot, dbSeeChanges)
ClientSTR = "SELECT T1Companies.CompanyName " & _
"FROM T1Companies INNER JOIN T1Jobsites ON T1Companies.CompanyID = T1Jobsites.CompanyId " & _
"WHERE (((T1Jobsites.JobsiteID)=1))"
'ClientSTR = "SELECT T1Companies.CompanyName FROM T1Companies INNER JOIN T1Jobsites ON T1Companies.CompanyID = T1Jobsites.CompanyID" & _
" WHERE T1JobsitesID = 1" '& Form_LEM.TxtJobsiteID
Set RsClient = db.OpenRecordset(ClientSTR, dbOpenSnapshot, dbSeeChanges)
Set xlapp = CreateObject("excel.application")
Set wb = xlapp.Workbooks.Open("C:\Users\coc33713\Desktop\VISION - EXCEL FILES\VISIONCOUNT.xlsm")
Set ws = xlapp.Worksheets("CountSheet")
xlapp.Visible = True
'Tried this second after reading another forum
'the comments Recordset will be the actual values used, but I can't get the String "TEST" to work
wb.ws.Range("Client").Value = "TEST" 'RsClient!CompanyName
'Tried this way first
xlapp.ws.Range("'SiteName'").Value = "Test" 'RsJobsite!JobsiteNickName"
xlapp.ws.Range(Date).Value = "Test" 'Form_LEM.TxtDate
xlapp.ws.Range(ProjectName).Value = "Test" 'Form_LEM.TxtPlant
xlapp.ws.Range(ScaffoldID).Value = "Test" 'Form_LEM.cboScaffnum.Value
xlapp.ws.Range(ScaffoldNumber).Value = "Test" 'Form_LEM.cboScaffnum.Column(1)
Set xlapp = Nothing
Set wb = Nothing
Set ws = Nothing
Set RsClient = Nothing
Set RsJobsite = Nothing
Set db = Nothing
End Sub
はあなたにみんなありがとう!
FWIW(ないあなたの問題 - スコットの答えによって解決される):セットのWS =のxlapp.Worksheets( "CountSheetは") ''のWS =のwb.Worksheetsを設定する必要があります 'ことに注意してください( "CountSheet")' 。 'xlapp.Worksheets(" CountSheet ")'を使うと効果的な 'xlApp.ActiveWorkbook.Worksheets(" CountSheet ")'が**(おそらく) 'xlApp.Workbooks(" VISION - EXCEL FILES \ VISIONCOUNT。 xlsm ")。ワークシート(" CountSheet ")'しかし、それを偶然に残すのではなく、正確に行う方が良いです。 – YowE3K
@ YowE3Kありがとう、この小さなミスは、正解ですありがとう!!!! –