Access‚©‚çExcel‚̃Oƒ‰ƒtƒEƒBƒU[ƒh‚ðŽg—p‚µ‚ăOƒ‰ƒt‚ð•\ަ‚³‚¹‚é‚É‚Í
Access97‚©‚çExcel97‚ðŒÄ‚Ño‚µ‚ăOƒ‰ƒt‚ð•\ަ‚·‚éŠÖ”‚ð‰ðà‚µ‚Ü‚·BAccess‚©‚çExcel‚ðŒÄ‚Ño‚µ‚Ä‘€ì‚·‚邱‚Æ‚ðƒI[ƒgƒ[ƒVƒ‡ƒ“(Automation)‚ƌĂт܂·B‚±‚±‚ÅЉ‚é—á‚Å‚ÍAAccess‚Ì‚±‚Æ‚ðƒI[ƒgƒ[ƒVƒ‡ƒ“ƒNƒ‰ƒCƒAƒ“ƒg(Automation
Client)¤Excel97‚Ì‚±‚Æ‚ðƒI[ƒgƒ[ƒVƒ‡ƒ“ƒT[ƒoiAutomation@Server)‚ƌĂт܂·B
Access97‚©‚çExcel97‚ðŒÄ‚Ño‚µ‚ăOƒ‰ƒt‚ð•\ަ‚·‚é‚·‚é‚ɂ͂R‚‚̃vƒƒV[ƒWƒƒ‚ðŽg—p‚µ‚Ü‚·B
\•¶
| OpenExcel_FS |
ƒI[ƒgƒ[ƒVƒ‡ƒ“‹@”\‚ð—˜—p‚µ‚ÄExcel97‚ð‹N“®‚µ‚Ü‚·B |
| DrawExcelChart_FS |
Excel97‚̃Oƒ‰ƒtƒEƒBƒU[ƒh‚ð—˜—p‚µ‚ăOƒ‰ƒt‚ð•\ަ‚µ‚Ü‚·B‚±‚̃vƒƒV[ƒWƒƒ‚ðŒÄ‚Ño‚·‚Æ‚«‚Í‚RŒÂ‚̈ø”‚ª•K—v‚ɂȂè‚Ü‚·B
| strDataRange |
ƒOƒ‰ƒt•\ަ‚·‚éƒf[ƒ^‚͈̔͂ðŽw’肵‚Ü‚·i•K{j |
| strChartTitle |
ƒOƒ‰ƒt‚̃^ƒCƒgƒ‹‚ðŽw’肵‚Ü‚·i•K{j |
| intChartType |
ƒOƒ‰ƒt‚ÌŽí—Þ‚ðŽw’肵‚Ü‚·iƒIƒvƒVƒ‡ƒ“jBÈ—ª‚·‚邯xl3DPie‚ƂȂè‚Ü‚·B
xl3DPie
xl3DPieExploded |
|
| CloseExcel_FS |
Excel97‚ðI—¹‚µ‚Ü‚·B |
Žg—p—á‚P
‚±‚Ì—á‚Å‚ÍAƒvƒƒOƒ‰ƒ€ã‚Ńf[ƒ^‚ð쬂µ‚ăOƒ‰ƒt‚ð•\ަ‚µ‚Ä‚¢‚Ü‚·B
- Access97‚ð‹N“®‚µ‚ÄV‹K‚̃f[ƒ^ƒx[ƒX(MyDB.mdb)‚ð쬂µ‚Ü‚·B
- ƒf[ƒ^ƒx[ƒX‚̃_ƒCƒAƒƒOƒ{ƒbƒNƒX‚©‚烂ƒWƒ…[ƒ‹ƒ^ƒu‚ðƒNƒŠƒbƒN‚µ‚½‚çAV‹K쬃{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚ă‚ƒWƒ…[ƒ‹‚̃EƒCƒ“ƒhƒE‚ð•\ަ‚³‚¹‚Ü‚·B
- ƒƒjƒ…[‚©‚çƒc[ƒ‹‚ðƒNƒŠƒbƒN‚µ‚ÄŽQÆÝ’è‚ðƒNƒŠƒbƒN‚µ‚Ü‚·B
- MyLib.mda‚ÆMS Excel 8.0 Object Library‚ð“o˜^‚µ‚Ü‚·BMyLib.mda‚ð“o˜^‚·‚é‚É‚ÍAŽQƃ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚ÄMyLib.mda‚ð‘I‘ð‚µ‚Ü‚·BiÚׂÍAƒ‰ƒCƒuƒ‰ƒŠ[ƒf[ƒ^ƒx[ƒX‚Ì‘g‚Ýž‚Ý‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢j MS Excel 8.0 Object Library‚ÍAƒIƒuƒWƒFƒNƒg‚̈ꗗ‚©‚猟õ‚µ‚ă`ƒFƒbƒNƒ}[ƒN‚ðƒNƒŠƒbƒN‚µ‚Ä‚©‚çOKƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ü‚·B‚±‚ê‚щƒCƒuƒ‰ƒŠ[‚Ì“o˜^‚ªŠ®—¹‚µ‚Ü‚µ‚½B
- ƒ‚ƒWƒ…[ƒ‹ƒEƒCƒ“ƒhƒE‚ÉŽg—p—á‚P‚ðƒRƒs[•ƒy[ƒXƒg‚µ‚Ü‚·B
- ƒfƒoƒbƒOƒEƒCƒ“ƒhƒE‚ð•\ަ‚³‚¹‚½‚çSample1‚ðŽÀs‚µ‚Ü‚·B
- Excel97‚ª‹N“®‚³‚ê‚ăpƒCƒ`ƒƒ[ƒg‚ª•\ަ‚³‚ê‚Ü‚·B
 |
| }1-Žg—p—á‚P‚Å•\ަ‚³‚ê‚éƒOƒ‰ƒt |
|
- Excel97‚ð‚»‚Ì‚Ü‚Ü‚Ìó‘Ô‚ÅAAccess97‚ɃtƒH[ƒJƒX‚ðˆÚ“®‚µ‚Ü‚·B
- Hello Sample1‚̃ƒbƒZ[ƒW‚ª•\ަ‚³‚ê‚Ä‚¢‚Ü‚·‚Ì‚ÅOK‚̃{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ü‚·B
- Excel97‚ÍŽ©“®“I‚ÉI—¹‚µ‚Ü‚·B
|
Public Sub Sample1()
OpenExcel_FS
If gobjExcel Is Nothing Then
MsgBox "MS Excel 8.0 control is not installed on your computer!"
Exit Sub
End If
With gobjExcel
.Workbooks.Add
With .ActiveSheet
.Cells(1, 1).Value = "–¼‘O"
.Cells(2, 1).Value = "tŽq"
.Cells(3, 1).Value = "‰ÄŽq"
.Cells(4, 1).Value = "HŽq"
.Cells(5, 1).Value = "“~Žq"
.Cells(1, 2).Value = "”„ã"
.Cells(2, 2).Value = "60"
.Cells(3, 2).Value = "25"
.Cells(4, 2).Value = "10"
.Cells(5, 2).Value = "5"
End With
DrawExcelChart_FS strDataRange:="A2:B5", _
strChartTitle:="‰c‹Æ’S“–ŽÒ•Ê”„ã", _
intChartType:=xl3DPieExploded
MsgBox "Hello Sample1"
End With
CloseExcel_FS
End Sub @
|
Žg—p—á‚Q
‚±‚Ì—á‚Å‚ÍAAccess97‚É“Y•t‚³‚ê‚Ä‚¢‚éƒTƒ“ƒvƒ‹ƒf[ƒ^ƒx[ƒXiNorthwind.mdb)‚ðŽg—p‚µ‚Ĥ•i‹æ•ª•ʂ̔„ã‚‚ðWŒv‚µ‚ăOƒ‰ƒt•\ަ‚µ‚Ä‚¢‚Ü‚·B
- Access97‚É“Y•t‚³‚ê‚Ä‚¢‚é Northwind.mdb
‚ðŠJ‚«‚Ü‚·B
i’Ê킱‚̃tƒ@ƒCƒ‹‚ÍAC:\Program Files\Office\Samples‚̃tƒHƒ‹ƒ_‚ɃCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ü‚·Bj
- ƒf[ƒ^ƒx[ƒX‚̃_ƒCƒAƒƒOƒ{ƒbƒNƒX‚̃‚ƒWƒ…[ƒ‹‚̃^ƒu‚ðƒNƒŠƒbƒN‚µ‚½‚çV‹K쬂̃{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚ă‚ƒWƒ…[ƒ‹ƒEƒCƒ“ƒhƒE‚ð•\ަ‚³‚¹‚Ü‚·B
- Žg—p—á‚P‚Æ“¯—lAƒƒjƒ…[‚©‚çƒc[ƒ‹‚ðƒNƒŠƒbƒN‚µ‚½‚çŽQÆÝ’è‚ðƒNƒŠƒbƒN‚µ‚ÄMyLib.mda‚ÆMS
Excel 8.0 Object Library‚ð“o˜^‚µ‚Ü‚·B
- ƒ‚ƒWƒ…[ƒ‹ƒEƒCƒ“ƒhƒE‚ÉŽg—p—á‚Q‚ðƒRƒs[•ƒy[ƒXƒg‚µ‚Ü‚·B
- ƒfƒoƒbƒOƒEƒCƒ“ƒhƒE‚ð•\ަ‚³‚¹‚ÄSample2‚ðŽÀs‚µ‚Ü‚·B
- Excel97‚ª‹N“®‚³‚ê‚Ĥ•i‹æ•ª•Ê”„ã‚̃pƒCƒ`ƒƒ[ƒg‚ª•\ަ‚³‚ê‚Ü‚·B
 |
| }2-Žg—p—á‚Q‚Å•\ަ‚³‚ê‚éƒOƒ‰ƒt |
|
- Excel97‚ð‚»‚Ì‚Ü‚Ü‚Ìó‘Ô‚ÅAAccess97‚ɃtƒH[ƒJƒX‚ðˆÚ“®‚µ‚Ü‚·B
- Hello Sample2‚̃ƒbƒZ[ƒW‚ª•\ަ‚³‚ê‚Ä‚¢‚Ü‚·‚Ì‚ÅOK‚̃{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ü‚·B
- Excel97‚ÍŽ©“®“I‚ÉI—¹‚µ‚Ü‚·B
|
Public Sub Sample2()
Dim rsSales As Recordset
Dim strSQL As String
Dim strDataRange As String
Dim strChartTitle As String
OpenExcel_FS
strSQL = "SELECT ¤•i‹æ•ª.‹æ•ª–¼, Sum(Žó’–¾×.’P‰¿*Žó’–¾×.”—Ê) AS ‹àŠz" _
& " FROM (¤•i INNER JOIN Žó’–¾× ON ¤•i.¤•iƒR[ƒh = Žó’–¾×.¤•iƒR[ƒh)" _
& " INNER JOIN ¤•i‹æ•ª ON ¤•i.‹æ•ªƒR[ƒh = ¤•i‹æ•ª.‹æ•ªƒR[ƒh" _
& " GROUP BY ¤•i‹æ•ª.‹æ•ª–¼" _
& " ORDER BY Sum(Žó’–¾×.’P‰¿*Žó’–¾×.”—Ê) DESC;"
Set rsSales = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
With gobjExcel
.Workbooks.Add
With .ActiveSheet
.Cells(1, 1).Value = "¤•i‹æ•ª"
.Cells(1, 2).Value = "”„ã‹àŠz"
.Range("A2").CopyFromRecordset rsSales
.Columns("A:B").AutoFit
End With
strDataRange = "A2:B" & Format(rsSales.RecordCount + 1) ' ==> A2:B9
strChartTitle = "¤•i‹æ•ª•Ê”„ã"
DrawExcelChart_FS strDataRange, strChartTitle, xl3DPieExploded
MsgBox "Hello Sample2"
End With
rsSales.Close
Set rsSales = Nothing
CloseExcel_FS
End Sub
|
Tip1:
CopyFromRecordSetƒƒ\ƒbƒh‚ÍAƒŒƒR[ƒhƒZƒbƒg(rsSales)‚Ì‘SƒŒƒR[ƒh‚ðExcel97‚̃V[ƒgã‚ÌA2‚̃Zƒ‹‚ðŠî“_‚ɓǂݞ‚݂܂·B
Tip2:
ƒJƒ‰ƒ€ƒ^ƒCƒgƒ‹‚Ƀe[ƒuƒ‹‚̃tƒB[ƒ‹ƒh–¼‚ðŽg—p‚·‚邯‚«‚ÍAƒtƒB[ƒ‹ƒhƒRƒŒƒNƒVƒ‡ƒ“‚ÌNameƒvƒƒpƒeƒB‚ðŽg‚¢‚Ü‚·B
With .ActiveSheet
.Cells(1, 1).Value = rsSales.Fields(0).Name
.Cells(1, 2).Value = rsSales.Fields(1).Name
End With
|