Numéro d'article: 180766 - Dernière mise à jour: lundi 22 janvier 2007 - Version: 4.4

VBA : Exemple de code pour déterminer la lettre de lecteur de CD-ROM

Sommaire

Agrandir tout | Réduire tout

Résumé

Cet article contient des exemple Microsoft Visual Basic pour applications qui détermine la lettre de lecteur du premier lecteur de CD-ROM et retourne à une variable en tant que chaîne. Il est ensuite de sortie dans une zone de message. Cela peut être utile pour accéder aux fichiers contenus sur un CD-ROM.

Plus d'informations

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite, y compris, mais sans limitation, toute garantie implicite de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Professionnels du support technique Microsoft peuvent vous expliquer la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples afin de fournir des fonctionnalités supplémentaires ou des procédures pour répondre à vos besoins spécifiques de construction.
Si vous avez partiellement la programmation, il convient contacter un partenaire certifié Microsoft ou services de conseil Microsoft. Pour plus d'informations, visitez ces sites Web de Microsoft :

Microsoft certifié Partners - https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)

Services de conseil Microsoft - http://support.microsoft.com/gp/advisoryservice (http://support.microsoft.com/gp/advisoryservice)

Pour plus d'informations sur les options de support sont disponibles et sur la façon de contacter Microsoft, consultez le site Microsoft suivant : http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)

Exemple de procédure Visual Basic

  ' **********************************************************************
   '
   ' FUNCTION:
   '    GetFirstCdRomDriveLetter()
   '
   ' PURPOSE:
   '    Finds the first CD-ROM device and then returns its drive letter.
   '
   ' ARGUMENTS:
   '    None
   '
   ' RETURNS:
   '    A string that represents the first CD-ROM drive letter. If the
   '    function fails for any reason, it returns vbNullString.
   '
   ' **********************************************************************
   Declare Function GetDriveType Lib "kernel32" Alias _
      "GetDriveTypeA" (ByVal nDrive As String) As Long

   Declare Function GetLogicalDriveStrings Lib "kernel32" Alias _
      "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, _
      ByVal lpBuffer As String) As Long

   Public Const DRIVE_CDROM As Long = 5

   Function GetFirstCdRomDriveLetter() As String

      ' Declare variables.
      Dim lDriveType As Long
      Dim strDrive As String
      Dim lStart As Long: lStart = 1

      ' Create a string to hold the logical drives.
      Dim strDrives As String
      strDrives = Space(150)

      ' Get the logial drives on the system.
      ' If the function fails it returns zero.
      Dim lRetVal As Long
      lRetVal = GetLogicalDriveStrings(150, strDrives)

      ' Check to see if GetLogicalDriveStrings() worked.
      If lRetVal = 0 Then

         ' Get GetLogicalDriveStrings() failed.
         GetFirstCdRomDriveLetter = vbNullString
         Exit Function
      End If

      ' Get the string that represents the first drive.
      strDrive = Mid(strDrives, lStart, 3)

      Do

         ' Test the first drive.
         lDriveType = GetDriveType(strDrive)

         ' Check if the drive type is a CD-ROM.
         If lDriveType = DRIVE_CDROM Then

            ' Found the first CD-ROM drive on the system.
            GetFirstCdRomDriveLetter = strDrive
            Exit Function
         End If

         ' Increment lStart to next drive in the string.
         lStart = lStart + 4

         ' Get the string that represents the first drive.
         strDrive = Mid(strDrives, lStart, 3)

      Loop While (Mid(strDrives, lStart, 1) <> vbNullChar)

   End Function
				
Voici un exemple d'appeler la fonction GetFirstCdRomDriveLetter() à partir d'une macro (procédure Sub):
   Sub Main

      Dim strDriveLetter as String

      ' Call the GetFirstCdRomDriveLetter() and store the
      ' return value in strDriveLetter.
      strDriveLetter = GetFirstCdRomDriveLetter()

      ' Display the drive letter in a message box.
      MsgBox strDriveLetter

   End Sub
				

Références

Pour plus d'informations sur comment obtenir de l'aide avec Visual Basic pour applications, consultez l'article suivant dans la base de connaissances Microsoft :
163435  (http://support.microsoft.com/kb/163435/EN-US/ ) VBA : Ressources de programmation pour Visual Basic pour applications

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic for Applications 5.0
  • Microsoft Office 97 Standard
  • Microsoft Access 97 Standard
  • Microsoft Excel 97 Standard
  • Microsoft PowerPoint 97 Standard
  • Microsoft Word 97 Standard Edition
Mots-clés : 
kbmt kbhowto KB180766 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 180766  (http://support.microsoft.com/kb/180766/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Retired KB ArticleExclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
 

Traductions disponibles