明枪暗箭和明枪暗剑,“明枪暗箭”是正确的。“箭”是一种兵器,“明枪暗箭”比喻种种公开的和隐蔽的攻击。比如“在商场竞争中,他遭到了对手的明枪暗箭”。“剑”也是一种兵器,但“明枪暗剑”不符合固定用法。使用建议:在描述公开和隐蔽的攻击时,用“明枪暗箭”。