当前位置:编程学习 > VB >>

求破解 Excel 中VBA工程文件密码方法?????

  我有一个excel文档,但其中vba工程文件加密,能破解吗?

 我只知道excel的密码可以破解〉??

 望知道的人指点...

破解 Excel 中VBA工程文件密码方法????? --------------------编程问答-------------------- 這個簡單啊,修改一個地方就可以了 --------------------编程问答--------------------
引用 1 楼 crackdung 的回复:
這個簡單啊,修改一個地方就可以了
中过一个宏病毒,在VBA中其源码加了密,怎么也弄不掉,只好重做了系统 --------------------编程问答-------------------- 解除是很簡單的,,,, --------------------编程问答--------------------
引用 3 楼 crackdung 的回复:
解除是很簡單的,,,,



怎么除去 .....?? --------------------编程问答--------------------
实际控制操作
VOID ValveSet( GDC_CARD_INFO *pstNode ){FLOAT  fSetValue = 0.0;
INT32 iSetValue = 0;UINT8 ucIICChan = 0;UINT32 ulRet = CCU_ERR;
CHECK_PARA1_NULL( pstNode );CHECK_PARA1_NULL(Y6);/* 判断是否存在阀门失效告警 */
IsValveFaultAlarm(pstNode->ucSlotId, Y6[VALVE_FAULT_NUM].fValveSetValue);
if ( AUTO_MODE != pstNode->ucMode ){return;}fSetValue = Y6[VALVE_FAULT_NUM].fTargetValueVoltage;
/* 如果设置电压值大于需保持阀门最小开度的电压值,按保持阀门最小开度电压值设置,目前是6.5V */
if ( fSetValue > Y7){fSetValue = Y7;}/* 设置电压值转换为DA转换的设置值,与硬件电路相关 */
iSetValue = (INT32)((fSetValue/10) * 65536);
/* 目前DA设置时设0不能成功,所以置设置值为1 */
if ( 0 == iSetValue ){iSetValue = 1;}if ( CCU_TRUE == ulSetDAValue){CCU_Printf;CCU_Printf;}
/* 更新实际设置电压值,以便下一次判断阀门失效告警 */
Y6[VALVE_FAULT_NUM].fValveSetValue = fSetValue;ucIICChan = pstNode->ucSlotId + START_IIC_CHAN_ID;
/* 调驱动适配接口设置 */
ulRet = AD5625_Write(ucIICChan, AD5626_ADDR, AD5625_OUTPUT_CHAN, iSetValue);
CHECK_RET_OK(ulRet);return;   }
阀门控制
VOID ControlValve( GDC_CARD_INFO *pstNode ){VALVE_ADJUST_MODE enAdjustMode;
INT32 iDeltaTMax = 0;CHECK;CHECK_PARA1_NULL(Y6);
/* 如果有温度过高告警或传感器失效告警,控制阀门全开 */
if ( CCU_TRUE == IsOutputTempAlarm(pstNode) ){ return;}
 /* 如果出现入风口大于出风口温度的异常告警,控制阀门全开,返回 */
if ( CCU_TRUE == IsInputTempErrAlarm(pstNode)){ return;}
/* 计算DeltaT,并取出最大值 */if ( CCU_OK != GetMaxDeltaT(pstNode, &iDeltaTMax) )
 {return; }/* 计算阀门是否需要调节,返回调节方向 */
enAdjustMode = IsNeedAdjustValve(iDeltaTMax, (UINT8)Y6[INPUT_TEMP_SENSOR_INDEX].cDeltaTempUpperLmt, 
(UINT8)Y6[INPUT_TEMP_SENSOR_INDEX].cDeltaTempLowerLmt, pstNode->ucDeltaTWIDE);
/* 根据调节模式计算调节目标电压值 */ValveStepControl(pstNode, enAdjustMode);    }
--------------------编程问答-------------------- 定时保存配置文件
VOID SaveGdcConfigPer10Min( VOID ){
UINT32 i = 0;UINT32 ulLen = 0;
    GDC_CARD_INFO *pstNode = CCU_NULL_PTR;

    for ( i = 0 ; i < MAX_INSIDE_CARD_NUM; i++ )
    {
        if ( CCU_TRUE == Y2.ucIsOnLine)
        {
            pstNode = &g_stInsideBoardInfo.stGdcInfo[i];  
            ulLen = (UINT32)CCU_StrLen((CHAR*)pstNode->cBarCode);
            CFG_SaveGDCCfg((UINT8)i, pstNode->cBarCode, ulLen);
        }
    }
}
处理告警卡
VOID PollAlarmCard( CARD_INFO *pstNode )
{
    static UINT32 ulTimeCnt[MAX_INSIDE_CARD_NUM] = {0};
    CHECK;
    /* 定时5S点一次告警卡 */
    if ( !(ulTimeCnt[pstNode->ucSlotId]%5) )
    {
        IllumeAlarmCard( pstNode->ucSlotId );
    }
    /* 累加计数器放在函数尾做,以便程序第一次起来后就设置一次阀门 */
    ulTimeCnt[pstNode->ucSlotId]++;
    return;
}
获取某个槽位上是否在位以及在位的话卡类型
UINT32 CCU_GetInsideBoardType(UINT8 ucSlotId,
    INSIDE_BOARD_TYPE *penInsideBoardType, UINT8 *pucIsOnLine)
{
    CHECK_PARA2_NULL_RN(penInsideBoardType,
        pucIsOnLine, CCU_485_ERR_INVALID_PARAMETER)
    if ( ucSlotId >= MAX_INSIDE_CARD_NUM )
    {
        return CCU_485_ERR_INVALID_PARAMETER;
    }
    
    *penInsideBoardType = (INSIDE_BOARD_TYPE)g_stInsideBoardInfo.stCardInfo[ ucSlotId ].ucBoardType;
    *pucIsOnLine = g_stInsideBoardInfo.stCardInfo[ ucSlotId ].ucIsOnLine;
    
    return CCU_OK;
} --------------------编程问答-------------------- GDC子卡传感器扫描和阀门控制
VOID PollGdcCard( GDC_CARD_INFO *pstNode )
{
    static UINT32 ulTimeCnt[MAX_INSIDE_CARD_NUM] = {0};
    
    CHECK_PARA1_NULL( pstNode );
    
    /* 定时3S读取温度传感器值,并做相关告警处理 */
    if ( !(ulTimeCnt[pstNode->ucSlotId]%3) )
    {
        ReadGdcSensor( pstNode );
    }
    /* 定时10S控制阀门开度 */
    if ( !(ulTimeCnt[pstNode->ucSlotId]%10) )
    {
        /* 温控模式才计算阀门调节值 */
        if ( AUTO_MODE == pstNode->ucMode )
        {
            ControlValve( pstNode );
        }

        /* 对于主控模式,还是要进入下面函数判断阀门失效告警 */
        ValveSet(pstNode);
    }

     /* 定时10分钟保存配置文件 */
    if ( !(ulTimeCnt[pstNode->ucSlotId]%500) )
    {
        SaveGdcConfigPer10Min();
    }

    /* 累加计数器放在函数尾做,以便程序第一次起来后就设置一次阀门 */
    ulTimeCnt[pstNode->ucSlotId]++;
    
    return;
}
按子卡类型扫描管理
VOID ProcInsideBoardByType(INSIDE_BOARD_TYPE enBoardType, UINT8 ucSlotId)
{
    GDC_CARD_INFO *pstNode = CCU_NULL_PTR;
    CARD_INFO *pstAlarmCardNode = CCU_NULL_PTR;
    
    if ( ucSlotId >= MAX_INSIDE_CARD_NUM )
    {
        return;
    }

    Y8;
    pstAlarmCardNode = &Y9;

    switch ( enBoardType )
    {
        case CCU_INSIDE_BOARD_TYPE_GDC :
            PollGdcCard( pstNode );
            break;

        case CCU_INSIDE_BOARD_TYPE_ALARM:
            PollAlarmCard( pstAlarmCardNode );
            break;
            
        default:
            break;
    }
    
    return;
} --------------------编程问答-------------------- 楼上 发的是什么哦?

补充:VB ,  非技术类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,