<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE artikkel PUBLIC 
"-//infoweb.ntnu.no//DTD Infoweb 1.0//NO" 
"http://infoweb.ntnu.no/infoweb.dtd">
<artikkel spraak="no">
  <tittel>MS Excel og NAGs C-bibliotek</tittel>
  <forfatter>overhold</forfatter>
  <sammendrag>Hvordan bruke NAG sitt C-bibliotek i MS Excel.
  </sammendrag>

  <lenker><ekstern tittel="NAG C Library and MS Excel" 
      uri="http://www.nag.co.uk/numeric/cl/classocinfo/VB_Skeletons/README.asp">
      NAG C Library and MS Excel</ekstern>
  </lenker>

  <hoveddel>
    <avsnitt>Hvis du bruker MS Excel og ønsker å bruke matematiske funksjoner 
      som ikke er tilgjengelige i Excel er kanskje C-biblioteket fra NAG det 
      du er ute etter.
    </avsnitt>

    <os2>Krav for å komme i gang</os2>

    <avsnitt>Denne veiledningen tar utgangspunkt i at du bruker MS Excel 2000
      eller nyere og har installert NAG C Library Mark 7. Det er også en fordel
      om du har litt erfaring med macro-programmering i VBA (Visual Basic for 
      Applications), da det er macroer som brukes for å kalle funksjoner i
      biblioteket. Miljøvariabelen PATH må inneholde stien til katalogen der 
      nagc.dll finnes. På en standardinstallasjon av biblioteket er dette stien:
      <trykk>C:\Program Files\Numerical Algorithms Group\CLDLL0742\bin</trykk>.
      For hver funksjon i biblioteket finnes det en fil som heter
      <trykk>funksjonsnavn_skeleton.bas</trykk> som inneholder en VB-deklarasjon
      av C-funksjonen i biblioteket. Les om og last ned
      <ekstern tittel="Skeletonfiler for NAG C-biblioteket" 
			uri="http://www.nag.co.uk/numeric/CL/classocinfo/VB_Skeletons/readme.asp">
			Visual Basic Declarations for the NAG C Library</ekstern>.
    </avsnitt>

    <os2>Eksempel bruk av NAG C-biblioteket</os2>

    <avsnitt>Den beste måten å illustrere bruken av biblioteket er nok med et
      lite eksempel som punktvis demonstrerer hvordan du kan gjøre det. Du kan 
      lese om og laste ned eksempler fra 
      <ekstern tittel="Eksempel på bruk av NAG-biblioteket"
			uri="http://www.nag.co.uk/numeric/CL/classocinfo/Excel/Readme.asp">
			Sample Microsoft Excel Projects Illustrating How to Call the NAG C Library
			</ekstern>.
    </avsnitt>

    <ol>
      <li>Lag et nytt regneark og sett inn tallene -1,7 i celle C3 og 2,6 i celle D3.
      </li>
      <li>Gå til <trykk>Tools</trykk>-><trykk>Macro</trykk>-><trykk>Macros</trykk> og
	lag en ny macro.
      </li>
      <li>Skriv inn følgende kode i macro-editoren som kommer opp:<br/><br/>
	<kode>
' Start a02dcc_skeleton.bas
Option Base 1
Option Explicit

Global Const NAG_FILE_LEN = 512
Global Const NAG_ERROR_BUF_LEN = 512
Global Const MPS_NAME_LEN = 8

Type Complex
  re As Double
  im As Double
End Type

Declare Function a02dcc Lib "nagc.dll" ( _
  ByVal zRe As Double, ByVal zIm As Double _
) As Complex
' Slutt a02dcc_skeleton.bas

Sub test()
Dim x As Double, y As Double, result As Complex

With Worksheets("Sheet1")
  x = .Cells(3, 3)
  y = .Cells(3, 4)
  result = a02dcc(x, y)
  .Cells(5, 3) = result.im
  .Cells(5, 4) = result.re
End With
End Sub
</kode>
      </li>
      <li>Gå til <trykk>Tools</trykk>-><trykk>Macro</trykk>-><trykk>Macros</trykk> og
	kjør macroen du nettopp har skrevet.
      </li>
      <li>Det som regnes ut er kvadratroten til et kompleks tall der den reelle delen
	hentes fra celle C3 og den imaginære delen hentes fra celle D3. Kvadratroten
	av dette tallet er også et kompleks tall. Verdien i C5 er del reelle delen og 
	verdien i D5 er den imaginære delen.
      </li>
    </ol>

  </hoveddel>
</artikkel>
