Bonjour,
Je cherche à ouvrir un fichier Excel existant sans utiliser les outils .Net.
Le fichier ne veut pas s'ouvrir il retourne l'exception.

Si je fais ceci ça me créé bien un fichier Excel et ça me remplit la cellule :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
 
#import "F:\Program Files\Fichiers communs\Microsoft Shared\Office10\MSO.DLL" no_namespace rename("DocumentProperties","DocumentPropertiesXL")
#import "F:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB" no_namespace
#import "F:\Program Files\Microsoft Office\Office10\Excel.exe" rename("ExitWindows", "ExitWindowsWD") rename("DialogBox", "ExcelDialogBox") rename("RGB", "ExcelRGB") no_dual_interfaces
 
using namespace std;
 
int main()
{
	// Initialize COM
	CoInitialize(NULL);
	try
	{
		Excel::_ApplicationPtr excel;
 
		HRESULT hr = excel.CreateInstance(L"Excel.Application");
		if(FAILED(hr))
		{
		char msg[1024] = {0};
		sprintf(msg, "E: There was an error initializing Excel: %d", hr);
		printf(msg);
		}
		excel->PutVisible (true);
 
		//ajoute un workbook		
		Excel::_WorkbookPtr workbook = excel->Workbooks->Open("F:\Documents and Settings\Jérôme\Mes documents\Visual Studio 2008\Projects\PROGRAMME_MAC_BU\PROGRAMME_MAC_BU\Debug\PROGBU.xls"); // Create the workbook
 
		//prendre le nom de la feuille active
		Excel::_WorksheetPtr worksheet = excel->ActiveSheet; // Get the active sheet
 
		//nommer la feuille
		//worksheet->PutName ("Nom de la feuille");
 
		// on remplit une cellule
		//worksheet->Range["A1"]->Value = "Hello";
 
		//worksheet->SaveAs("c:\\test.xls");
		//workbook->Close(); // Close the workbook
		//excel->Quit(); // Quit excel
	}
 
	catch(_com_error &ce)
	{
		 MessageBox (NULL, "Erreur !!!", "Error", 0x10010);
	}
 
	CoUninitialize();
}
Pourquoi cela ne marche pas ?
Merci de m'aider.