Recall the two following fundamental theorems of mathematical logic:

Completeness Theorem: A theory T is syntactically consistent -- i.e., for no statement P can the statement "P and (not P)" be formally deduced from T -- if and only if it is semantically consistent: i.e., there exists a model of T.

Compactness Theorem: A theory T is semantically consistent iff every finite subset of T is semantically consistent.  

It is well-known that the Compactness Theorem is an almost immediate consequence of the 
Completeness Theorem: assuming completeness, if T is inconsistent, then one can deduce 
"P and (not P)" in a finite number of steps, hence using only finitely many sentences of T.

The traditional proof of the completeness theorem is rather long and tedious: for instance, the book _Models and Ultraproducts_ by Bell and Slomson takes two chapters to establish it, and Marker's _Model Theory: An Introduction_ omits the proof entirely.  There is a quicker proof due to Henkin (it appears e.g. on Terry Tao's blog), but it is still relatively involved.  

On the other hand, there is a short and elegant proof of the compactness theorem using ultraproducts (again given in Bell and Slomson).  

So I wonder: can one deduce completeness from compactness by some argument which is easier than Henkin's proof of completeness?  

As a remark, I believe that these two theorems are equivalent in a formal sense: i.e., they are each equivalent in ZF to the Boolean Prime Ideal Theorem.  I am asking about a more informal notion of equivalence.