c++ - 在代码内部、if 语句中使用#import

标签 c++ c import ms-office conditional-statements

我正在构建一个 C/C++ 程序,并使用 MS Excel 来表示结果。问题是我必须导入 2 个文件:

    #import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\MSO.DLL"
    #import "C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE"

它在我的计算机上完美运行,但这些文件的路径取决于 Windows 版本 (x64/x86) 和 Office 版本 (11,12,14)。 所以我的想法是向客户询问这些版本(主要),然后根据输入使用不同的导入。但我不知道该怎么做...这样的东西不起作用:

    scanf("%d",ver_office);
if (ver_office==1){
    #import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\MSO.DLL"
}

最佳答案

导入是由预处理器执行的,因此您不能在运行时执行此操作,即您必须在开始编译之前知道所有路径

关于c++ - 在代码内部、if 语句中使用#import,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11062788/

相关文章:

import - 如何定义猫头鹰 :imports with OWL API v3?

c++ - 声明时如何给一个复数赋值操作?

c - 使用 popen 和 pclose 时的问题

c++ - 如何查找dll注册失败的原因

c - 为什么指向字符串的指针存储在 .rodata 中,而指向 int 的指针却在堆栈上?

c - exec* 函数中的前两个参数是否包含冗余信息?

mysql - 我的第一个 Sqoop 工作出错。

Java - 无法导入 com.package.*(通配符)

c++ - 'look up' 关键字的最有效方法

c++ - 使用 QTextStream 从控制台读取时出现访问冲突错误