As Henning points out, the statement is false as written; but if you add the assumption that $v_1,\ldots,v_n$ are linearly independent, then the result is true.
As to your idea, it's either completely wrong or almost right, depending on what you mean by "complement."
If by "complement" you mean the set-theoretic complement (that is, $W$ is the set of all vectors in $V$ that are not in $\mathrm{span}(v_1,\ldots,v_n)$), which was my interpretation when I read your post, then your approach is completely wrong: this set is not closed under sums, and in general you cannot expect it to be well-behaved.
If by "complement" you mean a linear complement (as lhs understood your writing), that is, a subspace $W$ such that $W\cap\mathrm{span}(v_1,\ldots,v_n)=\{\mathbf{0}\}$ and $W+\mathrm{span}(v_1,\ldots,v_n) = V$), then you are almost right: you cannot define $f$ as $1$ on all of $W$ (that would not be homogeneous or additive); but you can find a basis for $W$ (say, by extending $v_1,\ldots,v_n$ to a basis of $V$, $v_1,\ldots,v_n,v_{n+1},\ldots,v_{n+m}$ and letting $W=\mathrm{span}(v_{n+1},\ldots,v_{n+m})$), define $f$ as $1$ on that basis, and then "extending linearly".